PageSourceSearch

https://www.titanmachinery.com/WebResource.axd?d=y58I-bdZ0lget4HL9…8s3cYctYrIGOHIrggHrv20&t=638809452820000000

js titanmachinery.com collected 2026-10-04 00:12:26 UTC 36,167 bytes, 564 lines download raw bytes

1var FormRulesSettings=(function(){var ConditionEvaluators=[];
2var InputTypeParsers=[];
3var RuleValueParsers=[];
4var FieldSelectors=[];
5var ActionExecutors=[];
6function ConditionEvaluator(name,conditionEvaluator){this.name=name;
7this.conditionEvaluator=conditionEvaluator;
8}ConditionEvaluator.prototype.canProcess=function(name){return name===this.name;
9};
10ConditionEvaluator.prototype.process=function(currentValue,ruleValue,inputType){if(!InputTypeParsers||InputTypeParsers.length===0){return false;
11}var inputTypeParser;
12for(var inputValueIndex=0;
13inputValueIndex<InputTypeParsers.length;
14inputValueIndex++){if(inputValueIndex===0||InputTypeParsers[inputValueIndex].canParse(inputType)){inputTypeParser=InputTypeParsers[inputValueIndex];
15}}var ruleValueParsers;
16for(var ruleValueIndex=0;
17ruleValueIndex<RuleValueParsers.length;
18ruleValueIndex++){if(ruleValueIndex===0||RuleValueParsers[ruleValueIndex].canParse(inputType)){ruleValueParsers=RuleValueParsers[ruleValueIndex];
19}}var parsedCurrentValue=inputTypeParser?inputTypeParser.parse(currentValue):currentValue;
20var parsedRuleValue=ruleValueParsers?ruleValueParsers.parse(ruleValue):ruleValue;
21return this.conditionEvaluator(parsedCurrentValue,parsedRuleValue);
22};
23function ValueParser(inputType,parser,escape,escapeRegEx){this.inputType=inputType;
24this.parser=parser;
25this.escape=escape;
26this.escapeRegEx=escapeRegEx?escapeRegEx:/[\-\[\]{}()*+?.,\\\^$|#\s]/g;
27}ValueParser.prototype.canParse=function(inputType){return this.inputType===inputType;
28};
29ValueParser.prototype.parse=function(value){var parsedValue=this.parser(value);
30if(this.escape===true&&typeof parsedValue==="string"){return parsedValue.replace(this.escapeRegEx,"\\$&");
31}return parsedValue;
32};
33function FieldSelector(fieldContainerDataSfRole,elementSelector,additionalFilter){this.fieldContainerDataSfRole=fieldContainerDataSfRole;
34this.elementSelector=elementSelector;
35this.additionalFilter=additionalFilter;
36}FieldSelector.prototype.getFieldContainerDataSfRole=function(){return this.fieldContainerDataSfRole;
37};
38FieldSelector.prototype.getFieldValues=function(fieldContainer){if(this.additionalFilter){return $(fieldContainer).find(this.elementSelector).filter(this.additionalFilter).map(function(i,data){return $(data).val().replace(/^\s+|\s+$/g,"");
39}).get();
40}else{return $(fieldContainer).find(this.elementSelector).map(function(i,data){return $(data).val().replace(/^\s+|\s+$/g,"");
41}).get();
42}};
43FieldSelector.prototype.getFieldValueElements=function(fieldContainer){return $(fieldContainer).find(this.elementSelector);
44};
45FieldSelector.prototype.canGetValues=function(fieldContainer){return this.fieldContainerDataSfRole===fieldContainer.attr("data-sf-role");
46};
47return{addConditionEvaluator:function(name,conditionEvaluator){ConditionEvaluators.push(new ConditionEvaluator(name,conditionEvaluator));
48},removeConditionEvaluator:function(name){for(var i=0;
49i<ConditionEvaluators.length;
50i++){if(ConditionEvaluators[i].name===name){ConditionEvaluators.splice(i,1);
51break;
52}}},processConditionEvaluator:function(name,inputType,currentValue,ruleValue){for(var i=0;
53i<ConditionEvaluators.length;
54i++){if(ConditionEvaluators[i].canProcess(name)){return ConditionEvaluators[i].process(currentValue,ruleValue,inputType);
55}}return false;
56},getConditionEvaluator:function(name){for(var i=0;
57i<ConditionEvaluators.length;
58i++){if(ConditionEvaluators[i].canProcess(name)){return ConditionEvaluators[i];
59}}return null;
60},addActionExecutor:function(actionName,actionExecutor){ActionExecutors.push({actionName:actionName,actionExecutor:actionExecutor});
61},removeActionExecutor:function(actionName){ActionExecutors=ActionExecutors.filter(function(a){return a.actionName!==actionName;
62});
63},getActionExecutor:function(actionName){var entry=ActionExecutors.filter(function(a){return a.actionName===actionName;
64})[0];
65if(entry){return entry.actionExecutor;
66}return null;
67},addInputTypeParser:function(inputType,parser,escape,escapeRegEx){InputTypeParsers.push(new ValueParser(inputType,parser,escape,escapeRegEx));
68},removeInputTypeParser:function(inputType){for(var i=0;
69i<InputTypeParsers.length;
70i++){if(InputTypeParsers[i].inputType===inputType){InputTypeParsers.splice(i,1);
71break;
72}}},addRuleValueParser:function(inputType,parser,escape,escapeRegEx){RuleValueParsers.push(new ValueParser(inputType,parser,escape,escapeRegEx));
73},removeRuleValueParser:function(inputType){for(var i=0;
74i<RuleValueParsers.length;
75i++){if(RuleValueParsers[i].inputType===inputType){RuleValueParsers.splice(i,1);
76break;
77}}},addFieldSelector:function(fieldContainerDataSfRole,elementSelector,additionalFilter){var element=FieldSelectors.map(function(e){return e.fieldContainerDataSfRole;
78}).indexOf(fieldContainerDataSfRole);
79if(element>-1){throw"Container with attribute [data-sf-role='"+fieldContainerDataSfRole+"'] have been registered already.";
80}else{FieldSelectors.push(new FieldSelector(fieldContainerDataSfRole,elementSelector,additionalFilter));
81}},removeFieldSelector:function(fieldContainerDataSfRole){for(var i=0;
82i<FieldSelectors.length;
83i++){if(FieldSelectors[i].fieldContainerDataSfRole===fieldContainerDataSfRole){FieldSelectors.splice(i,1);
84break;
85}}},getFieldValues:function(fieldContainer){for(var i=0;
86i<FieldSelectors.length;
87i++){if(FieldSelectors[i].canGetValues(fieldContainer)){return FieldSelectors[i].getFieldValues(fieldContainer);
88}}return[];
89},getFieldValueElements:function(fieldContainer){for(var i=0;
90i<FieldSelectors.length;
91i++){if(FieldSelectors[i].canGetValues(fieldContainer)){return FieldSelectors[i].getFieldValueElements(fieldContainer);
92}}return null;
93},getFieldsContainerNames:function(){var containers=[];
94for(var i=0;
95i<FieldSelectors.length;
96i++){containers.push(FieldSelectors[i].getFieldContainerDataSfRole());
97}return containers;
98}};
99})();
100var FormRuleConstants={Actions:{Show:"Show",Hide:"Hide",Skip:"Skip",ShowMessage:"ShowMessage",GoTo:"GoTo",SendNotification:"SendNotification"}};
101function FormRuleActionExecutorBase(){}FormRuleActionExecutorBase.prototype.applyState=function(context,actionData){throw new Error("applyState() function not implemented");
102};
103FormRuleActionExecutorBase.prototype.updateState=function(context,actionData){throw new Error("updateState() function not implemented");
104};
105FormRuleActionExecutorBase.prototype.undoUpdateState=function(context,actionData){throw new Error("undoUpdateState() function not implemented");
106};
107FormRuleActionExecutorBase.prototype.isConflict=function(actionData,otherActionData){return false;
108};
109FormRuleActionExecutorBase.prototype.getActionFieldIds=function(actionData){return[];
110};
111function HideShowFieldFormRuleActionExecutor(actionName){FormRuleActionExecutorBase.call(this);
112if(actionName===FormRuleConstants.Actions.Show||actionName===FormRuleConstants.Actions.Hide){this.actionName=actionName;
113}else{throw new Error("Invalid action name! Only "+FormRuleConstants.Actions.Show+" and "+FormRuleConstants.Actions.Hide+" action names are allowed");
114}}HideShowFieldFormRuleActionExecutor.prototype=Object.create(FormRuleActionExecutorBase.prototype);
115HideShowFieldFormRuleActionExecutor.prototype.constructor=HideShowFieldFormRuleActionExecutor;
116HideShowFieldFormRuleActionExecutor.prototype.applyState=function(context,actionData){var fieldIndex=context.helper.fieldIndexOf(context.fields,actionData.target);
117var fieldControlId=context.fields[fieldIndex].FieldControlId;
118if(context.fields[fieldIndex].Visible){context.helper.showField(context,fieldControlId);
119}else{context.helper.hideField(context,fieldControlId);
120}};
121HideShowFieldFormRuleActionExecutor.prototype.updateState=function(context,actionData){var updated=false;
122var fieldIndex=context.helper.fieldIndexOf(context.fields,actionData.target);
123if(this.actionName===FormRuleConstants.Actions.Show&&!context.fields[fieldIndex].Visible){context.fields[fieldIndex].Visible=true;
124updated=true;
125}else{if(this.actionName===FormRuleConstants.Actions.Hide&&context.fields[fieldIndex].Visible){context.fields[fieldIndex].Visible=false;
126updated=true;
127}}return updated;
128};
129HideShowFieldFormRuleActionExecutor.prototype.undoUpdateState=function(context,actionData){var fieldIndex=context.helper.fieldIndexOf(context.fields,actionData.target);
130if(this.actionName===FormRuleConstants.Actions.Show){context.fields[fieldIndex].Visible=false;
131}else{context.fields[fieldIndex].Visible=true;
132}};
133HideShowFieldFormRuleActionExecutor.prototype.isConflict=function(actionData,otherActionData){return(otherActionData.name===FormRuleConstants.Actions.Show||otherActionData.name===FormRuleConstants.Actions.Hide)&&actionData.target===otherActionData.target;
134};
135HideShowFieldFormRuleActionExecutor.prototype.getActionFieldIds=function(actionData){return[actionData.target];
136};
137function SkipToPageFormRuleActionExecutor(){FormRuleActionExecutorBase.call(this);
138}SkipToPageFormRuleActionExecutor.prototype=Object.create(FormRuleActionExecutorBase.prototype);
139SkipToPageFormRuleActionExecutor.prototype.constructor=SkipToPageFormRuleActionExecutor;
140SkipToPageFormRuleActionExecutor.prototype.applyState=function(context,actionData){if(context.skipToPageCollection){context.formContainer.trigger("form-page-skip",[context.skipToPageCollection]);
141}};
142SkipToPageFormRuleActionExecutor.prototype.updateState=function(context,actionData){if(!context.skipToPageCollection){context.skipToPageCollection=[];
143}
143if(actionData.pageIndex<parseInt(actionData.target)){context.skipToPageCollection.push({SkipFromPage:actionData.pageIndex,SkipToPage:parseInt(actionData.target)});
144return true;
145}return false;
146};
147SkipToPageFormRuleActionExecutor.prototype.undoUpdateState=function(context,actionData){if(context.skipToPageCollection){context.skipToPageCollection=context.skipToPageCollection.filter(function(p){return p.SkipFromPage!==actionData.pageIndex||p.SkipToPage!==parseInt(actionData.target);
148});
149}};
150SkipToPageFormRuleActionExecutor.prototype.isConflict=function(actionData,otherActionData){return actionData.name===otherActionData.name&&actionData.pageIndex===otherActionData.pageIndex;
151};
152function ShowMessageRuleActionExecutor(){FormRuleActionExecutorBase.call(this);
153}ShowMessageRuleActionExecutor.prototype=Object.create(FormRuleActionExecutorBase.prototype);
154ShowMessageRuleActionExecutor.prototype.constructor=ShowMessageRuleActionExecutor;
155ShowMessageRuleActionExecutor.prototype.applyState=function(context,actionData){var inputSelector='[data-sf-role="form-rules-message"]';
156var inputElement=$(context.formContainer).find(inputSelector);
157if(this.execute){inputElement.val(actionData.target);
158}else{var currentValue=inputElement.val();
159if(currentValue===actionData.target){inputElement.val("");
160}}};
161ShowMessageRuleActionExecutor.prototype.updateState=function(context,actionData){this.execute=true;
162return true;
163};
164ShowMessageRuleActionExecutor.prototype.undoUpdateState=function(context,actionData){this.execute=false;
165};
166ShowMessageRuleActionExecutor.prototype.isConflict=function(actionData,otherActionData){return otherActionData.name===FormRuleConstants.Actions.ShowMessage||otherActionData.name===FormRuleConstants.Actions.GoTo;
167};
168function GoToPageRuleActionExecutor(){FormRuleActionExecutorBase.call(this);
169}GoToPageRuleActionExecutor.prototype=Object.create(FormRuleActionExecutorBase.prototype);
170GoToPageRuleActionExecutor.prototype.constructor=GoToPageRuleActionExecutor;
171GoToPageRuleActionExecutor.prototype.applyState=function(context,actionData){var inputSelector='[data-sf-role="form-rules-redirect-page"]';
172var inputElement=$(context.formContainer).find(inputSelector);
173if(this.execute){inputElement.val(actionData.target);
174}else{var currentValue=inputElement.val();
175if(currentValue===actionData.target){inputElement.val("");
176}}};
177GoToPageRuleActionExecutor.prototype.updateState=function(context,actionData){this.execute=true;
178return true;
179};
180GoToPageRuleActionExecutor.prototype.undoUpdateState=function(context,actionData){this.execute=false;
181};
182GoToPageRuleActionExecutor.prototype.isConflict=function(actionData,otherActionData){return otherActionData.name===FormRuleConstants.Actions.ShowMessage||otherActionData.name===FormRuleConstants.Actions.GoTo;
183};
184function SendNotificationRuleActionExecutor(){FormRuleActionExecutorBase.call(this);
185}SendNotificationRuleActionExecutor.prototype=Object.create(FormRuleActionExecutorBase.prototype);
186SendNotificationRuleActionExecutor.prototype.constructor=SendNotificationRuleActionExecutor;
187SendNotificationRuleActionExecutor.prototype.applyState=function(context,actionData){var inputSelector='[data-sf-role="form-rules-notification-emails"]';
188var inputElement=$(context.formContainer).find(inputSelector);
189if(context.notificationEmails){inputElement.val(context.notificationEmails.join(","));
190}else{inputElement.val("");
191}};
192SendNotificationRuleActionExecutor.prototype.updateState=function(context,actionData){if(!context.notificationEmails){context.notificationEmails=[];
193}if(context.notificationEmails.indexOf(actionData.target)===-1){context.notificationEmails.push(actionData.target);
194}return true;
195};
196SendNotificationRuleActionExecutor.prototype.undoUpdateState=function(context,actionData){if(context.notificationEmails){var index=context.notificationEmails.indexOf(actionData.target);
197if(index!==-1){context.notificationEmails.splice(index,0);
198}}};
199SendNotificationRuleActionExecutor.prototype.isConflict=function(actionData,otherActionData){return actionData.name===otherActionData.name&&actionData.target===otherActionData.target;
200};
201(function addConditionEvaluators(){FormRulesSettings.addConditionEvaluator("Equal",function(currentValue,ruleValue){if(typeof currentValue==="string"){return currentValue.search(new RegExp("^"+ruleValue+"$","i"))===0;
202}return currentValue===ruleValue;
203});
204FormRulesSettings.addConditionEvaluator("NotEqual",function(currentValue,ruleValue){if(typeof currentValue==="string"){return currentValue.search(new RegExp("^"+ruleValue+"$","i"))===-1;
205}return currentValue!==ruleValue;
206});
207FormRulesSettings.addConditionEvaluator("Contains",function(currentValue,ruleValue){return currentValue.search(new RegExp(ruleValue,"i"))>-1;
208});
209FormRulesSettings.addConditionEvaluator("NotContains",function(currentValue,ruleValue){return currentValue.search(new RegExp(ruleValue,"i"))===-1;
210});
211var isFilledFunction=function(currentValue){if(typeof currentValue==="number"&&currentValue!==currentValue){return false;
212}return currentValue&&currentValue.toString().length>0;
213};
214FormRulesSettings.addConditionEvaluator("IsFilled",isFilledFunction);
215FormRulesSettings.addConditionEvaluator("IsNotFilled",function(currentValue){return !isFilledFunction(currentValue);
216});
217FormRulesSettings.addConditionEvaluator("FileSelected",function(currentValue){return currentValue&&currentValue.length>0;
218});
219FormRulesSettings.addConditionEvaluator("FileNotSelected",function(currentValue){return !currentValue||currentValue.length===0;
220});
221FormRulesSettings.addConditionEvaluator("IsGreaterThan",function(currentValue,ruleValue){return currentValue>ruleValue;
222});
223FormRulesSettings.addConditionEvaluator("IsLessThan",function(currentValue,ruleValue){return currentValue<ruleValue;
224});
225})();
226(function addValueParsers(){var dateParserFunction=function(value){var dateTime=new Date(value);
227var date=new Date(dateTime.getFullYear(),dateTime.getMonth(),dateTime.getDate());
228return date.getTime();
229};
230var monthParserFunction=function(value,timezoneOffset){var dateTime=new Date(value);
231if(timezoneOffset){dateTime.setTime(dateTime.getTime()+timezoneOffset);
232}var date=new Date(dateTime.getFullYear(),dateTime.getMonth());
233return date.getTime();
234};
235var weekParserFunction=function(value){var date=new Date(parseInt(value.split(["-W"])[0]),0,1+(parseInt(value.split(["-W"])[1])-1)*7);
236date.setDate(date.getDate()-date.getDay()+(date.getDate()<=4?1:8));
237return date.getTime();
238};
239var dateTimeParserFunction=function(value,timezoneOffset){var dateTime=new Date(value);
240var date=new Date(dateTime.getFullYear(),dateTime.getMonth(),dateTime.getDate(),dateTime.getHours(),dateTime.getMinutes());
241if(timezoneOffset){date=new Date(date.getTime()+timezoneOffset);
242}return date.getTime();
243};
244var timeParserFunction=function(value,timezoneOffset){var dateTime=new Date(value);
245if(timezoneOffset){dateTime=new Date(dateTime.getTime()+timezoneOffset);
246}return dateTime.getHours()*60+dateTime.getMinutes();
247};
248FormRulesSettings.addInputTypeParser("text",function(value){return value;
249});
250FormRulesSettings.addInputTypeParser("month",function(value){return monthParserFunction(value,new Date(value).getTimezoneOffset()*60000);
251});
252FormRulesSettings.addInputTypeParser("number",function(value){return parseFloat(value)&&Number(value);
253});
254FormRulesSettings.addInputTypeParser("datetime-local",dateTimeParserFunction);
255FormRulesSettings.addInputTypeParser("date",dateParserFunction);
256FormRulesSettings.addInputTypeParser("time",function(value){return parseInt(value.split([":"])[0])*60+parseInt(value.split([":"])[1]);
257});
258FormRulesSettings.addInputTypeParser("week",weekParserFunction);
259FormRulesSettings.addRuleValueParser("text",function(value){return value;
260},true);
261FormRulesSettings.addRuleValueParser("month",function(value){return monthParserFunction(value,new Date(value).getTimezoneOffset()*60000);
262});
263FormRulesSettings.addRuleValueParser("number",function(value){return parseFloat(value)&&Number(value);
264});
265FormRulesSettings.addRuleValueParser("datetime-local",function(value){return dateTimeParserFunction(value,new Date(value).getTimezoneOffset()*60000);
266});
267FormRulesSettings.addRuleValueParser("date",dateParserFunction);
268FormRulesSettings.addRuleValueParser("time",function(value){return timeParserFunction(value,new Date(value).getTimezoneOffset()*60000);
269});
270FormRulesSettings.addRuleValueParser("week",weekParserFunction);
271})();
272(function addFieldSelectors(){FormRulesSettings.addFieldSelector("text-field-container","[data-sf-role='text-field-input']");
273FormRulesSettings.addFieldSelector("email-text-field-container","[data-sf-role='email-text-field-input']");
274FormRulesSettings.addFieldSelector("multiple-choice-field-container","[data-sf-role='multiple-choice-field-input']",":checked");
275FormRulesSettings.addFieldSelector("checkboxes-field-container","[data-sf-role='checkboxes-field-input']",":checked");
276FormRulesSettings.addFieldSelector("paragraph-text-field-container","[data-sf-role='paragraph-text-field-textarea']");
277FormRulesSettings.addFieldSelector("dropdown-list-field-container","[data-sf-role='dropdown-list-field-select']");
278FormRulesSettings.addFieldSelector("file-field-container","[data-sf-role='single-file-input'] input[type='file']");
279})();
280(function addActionExecutors(){var hideRuleAction=new HideShowFieldFormRuleActionExecutor(FormRuleConstants.Actions.Hide);
281FormRulesSettings.addActionExecutor(FormRuleConstants.Actions.Hide,hideRuleAction);
282var showRuleAction=new HideShowFieldFormRuleActionExecutor(FormRuleConstants.Actions.Show);
283FormRulesSettings.addActionExecutor(FormRuleConstants.Actions.Show,showRuleAction);
284var skipRuleActionExecutor=new SkipToPageFormRuleActionExecutor();
285FormRulesSettings.addActionExecutor(FormRuleConstants.Actions.Skip,skipRuleActionExecutor);
286var showMessageRuleActionExecutor=new ShowMessageRuleActionExecutor();
287FormRulesSettings.addActionExecutor(FormRuleConstants.Actions.ShowMessage,showMessageRuleActionExecutor);
288var goToPageRuleActionExecutor=new GoToPageRuleActionExecutor();
289FormRulesSettings.addActionExecutor(FormRuleConstants.Actions.GoTo,goToPageRuleActionExecutor);
290var sendNotificationRuleActionExecutor=new SendNotificationRuleActionExecutor();
291FormRulesSettings.addActionExecutor(FormRuleConstants.Actions.SendNotification,sendNotificationRuleActionExecutor);
292})();
293(function($){var FormRulesExecutor=function(container){this._init(container);
294};
295FormRulesExecutor.prototype={_init:function(target){this.fieldContainerSelector='[data-sf-role$="field-container"]';
296this.separatorSelector='[data-sf-role="separator"]';
297this.formContainerSelector=getFormContainerSelector();
298this.skipFieldsSelector='input[type="hidden"][data-sf-role="form-rules-skip-fields"]';
299this.hiddenFieldsSelector='input[type="hidden"][data-sf-role="form-rules-hidden-fields"]';
300this.formContainer=$(target).closest(this.formContainerSelector);
301var separator=$(target).closest(this.separatorSelector);
302this.fieldsContainer=separator.length>0?separator:this.formContainer;
303this.pages=$(this.formContainer).find(this.separatorSelector);
304this._initializeFormRules();
305this.iterationsMaxCount=50;
306var that=this;
307this.formContainer.on("form-page-changed",function(e,nextIndex,previousIndex){that._updateSkipPages(previousIndex,nextIndex);
308});
309},process:function(){if(!this._hasRules()){return;
310}this.hiddenFields=this._getHiddenFields();
311this.skipFields=this._getSkipFields();
312var context=this._contextInitialization();
313var updatedContext=this._evaluateFormRules(context);
314this._applyActionsState(updatedContext);
315this.hiddenFields=updatedContext.hiddenFields;
316this._setHiddenFields(this.hiddenFields);
317this._setExecutedActions(updatedContext.activeActions);
318},_hasRules:function(){return this.formRules&&this.formRules.length!==0;
319},_evaluateFormRules:function(context){var currentFieldsVisibility=$.map(context.fields,function(field){return field.Visible;
320});
321var updatedContext=this._updateContext(context);
322var updatedFieldsVisibility=$.map(updatedContext.fields,function(field){return field.Visible;
323});
324var noChanges=this._compareArrays(currentFieldsVisibility,updatedFieldsVisibility);
325if(context.iterationsCounter>this.iterationsMaxCount||noChanges){return updatedContext;
326}context.iterationsCounter++;
327return this._evaluateFormRules(updatedContext);
328},_updateContext:function(context){var actions=this._getRulesActionsState(context);
329for(var i=0;
330i<actions.length;
331i++){var action=actions[i];
332var activeActionIndex=context.helper.actionItemIndexOf(context.activeActions,action.data);
333if(action.data.applyRule){var updated=action.executor.updateState(context,action.data);
334if(activeActionIndex===-1){if(updated){context.activeActions.push(action);
335}}}else{if(activeActionIndex>-1){action.executor.undoUpdateState(context,action.data);
336context.activeActions.splice(activeActionIndex,1);
337}}}return context;
338},_getRulesActionsState:function(context){var actions=[];
339var that=this;
340var addOrUpdateAction=function(actions,currentAction,applyRule){var actionIndex=that._actionItemIndexOf(actions,currentAction.data);
341if(actionIndex===-1){if(applyRule){for(var actionIndex=0;
342actionIndex<actions.length;
343actionIndex++){if(actions[actionIndex].data.applyRule===true){actions[actionIndex].data.applyRule=!actions[actionIndex].executor.isConflict(actions[actionIndex].data,currentAction.data);
344}}}currentAction.data.applyRule=applyRule;
345actions.push(currentAction);
346}else{if(actions[actionIndex].data.applyRule===false){actions[actionIndex].data.applyRule=applyRule;
347}}};
348for(var i=0;
349i<this.formRules.length;
350i++){var rule=this.formRules[i];
351var applyRule=this._evaluateConditions(context,rule);
352for(var j=0;
353j<rule.actions.length;
354j++){var action=rule.actions[j];
355addOrUpdateAction(actions,action,applyRule);
356}}return actions;
357},_applyActionsState:function(context){for(var actionIndex=0;
358actionIndex<context.activeActions.length;
359actionIndex++){var action=context.activeActions[actionIndex];
360action.executor.applyState(context,action.data);
361}var deactivatedActions=context.executedActions.filter(function(a){return context.activeActions.indexOf(a)===-1;
362});
363for(var deactivatedActionIndex=0;
364deactivatedActionIndex<deactivatedActions.length;
365deactivatedActionIndex++){var deactivatedAction=deactivatedActions[deactivatedActionIndex];
366deactivatedAction.executor.applyState(context,deactivatedAction.data);
367}},_evaluateConditions:function(context,rule){var executeStatus=[];
368for(var conditionIndex=0;
369conditionIndex<rule.conditions.length;
370conditionIndex++){var condition=rule.conditions[conditionIndex];
371var field=this._getContextField(context,condition.data.id);
372var fieldType=this._getFieldType(condition.data.id);
373var applyRule=false;
374if(field.Visible===true&&condition.evaluator){if(field.Values&&field.Values.length>0){for(var h=0;
375h<field.Values.length;
376h++){applyRule=condition.evaluator.process(field.Values[h],condition.data.value,fieldType);
377if(applyRule){break;
378}}}else{applyRule=condition.evaluator.process(null,condition.data.value,fieldType);
379}}executeStatus.push(applyRule);
380}var execute;
381if(rule.operator==="And"){execute=this._every(executeStatus,function(e){return e;
382});
383}else{execute=this._some(executeStatus,function(e){return e;
384});
385}return execute;
386},_initializeFormRules:function(){this.formRules=[];
387var formRulesElement=this.formContainer.find('input[data-sf-role="form-rules"]');
388var deserializedFormRules=formRulesElement.length>0&&formRulesElement.val().length>0?JSON.parse(formRulesElement.val()):null;
389if(deserializedFormRules){for(var ruleIndex=0;
390ruleIndex<deserializedFormRules.length;
391ruleIndex++){var rule=deserializedFormRules[ruleIndex];
392var newRule={operator:rule.Operator,conditions:[],actions:[]};
393var rulePageIndex=0;
394for(var conditionIndex=0;
395conditionIndex<rule.Conditions.length;
396conditionIndex++){var condition=rule.Conditions[conditionIndex];
397var conditionEvaluator=FormRulesSettings.getConditionEvaluator(condition.Operator);
398newRule.conditions.push({data:{id:condition.Id,value:condition.Value},evaluator:conditionEvaluator});
399var conditionTargetPageIndex=this._getFieldPageContainerIndex(condition.Id);
400rulePageIndex=conditionTargetPageIndex&&conditionTargetPageIndex>rulePageIndex?conditionTargetPageIndex:rulePageIndex;
401}for(var actionIndex=0;
402actionIndex<rule.Actions.length;
403actionIndex++){var action=rule.Actions[actionIndex];
404var actionExecutor=FormRulesSettings.getActionExecutor(action.Action);
405if(actionExecutor){newRule.actions.push({data:{target:action.Target,name:action.Action,pageIndex:rulePageIndex},executor:actionExecutor});
406}}newRule.actions=this._filterConflictingRuleActions(newRule.actions);
407this.formRules.push(newRule);
408}}},_filterConflictingRuleActions:function(ruleActions){var filteredActions=[];
409for(var i=ruleActions.length-1;
410i>=0;
411i--){if(filteredActions.filter(function(a){return ruleActions[i].executor.isConflict(ruleActions[i].data,a.data);
412}).length===0){filteredActions.push(ruleActions[i]);
413}}return filteredActions.reverse();
414},_contextInitialization:function(){var executedActions=this._getExecutedActions();
415return{fields:this._fieldsInitialization(),executedActions:executedActions.slice(),activeActions:executedActions.slice(),formContainer:this.formContainer,formContainerSelector:this.formContainerSelector,iterationsCounter:0,hiddenFields:this.hiddenFields,skipToPageCollection:[],helper:{showField:this._showField.bind(this),hideField:this._hideField.bind(this),getFieldElement:this._getFieldElement.bind(this),getFieldStartSelector:this._getFieldStartSelector.bind(this),getFieldEndSelector:this._getFieldEndSelector.bind(this),fieldIndexOf:this._fieldIndexOf.bind(this),arrayIndexOf:this._arrayIndexOf.bind(this),actionItemIndexOf:this._actionItemIndexOf.bind(this)}};
416},_fieldsInitialization:function(){var fields=[];
417var formRuleFields=this._getFormRulesFields();
418for(var i=0;
419i<formRuleFields.length;
420i++){fields.push({FieldControlId:formRuleFields[i],Values:this._getFieldValues(formRuleFields[i]),Visible:this._arrayIndexOf(this.hiddenFields,formRuleFields[i])===-1&&this._arrayIndexOf(this.skipFields,formRuleFields[i])===-1});
421}return fields;
422},_getFormRulesFields:function(){var fields=[];
423for(var i=0;
424i<this.formRules.length;
425i++){for(var s=0;
426s<this.formRules[i].conditions.length;
427s++){var conditionFieldName=this.formRules[i].conditions[s].data.id;
428if(this._arrayIndexOf(fields,conditionFieldName)===-1){fields.push(conditionFieldName);
429}}for(var j=0;
430j<this.formRules[i].actions.length;
431j++){var actionFieldIds=this.formRules[i].actions[j].executor.getActionFieldIds(this.formRules[i].actions[j].data);
432if(actionFieldIds&&actionFieldIds.length>0){for(var k=0;
433k<actionFieldIds.length;
434k++){if(this._arrayIndexOf(fields,actionFieldIds[k])===-1){fields.push(actionFieldIds[k]);
435}}}}}return fields;
436},_updateSkipPages:function(previousIndex,nextIndex){if(previousIndex<nextIndex){var fieldContainerNames=FormRulesSettings.getFieldsContainerNames();
437for(var skipPage=previousIndex+1;
438skipPage<nextIndex;
439skipPage++){for(var k=0;
440k<fieldContainerNames.length;
441k++){var fieldsContainers=this.pages.eq(skipPage).find('[data-sf-role="'+fieldContainerNames[k]+'"]');
442for(var j=0;
443j<fieldsContainers.length;
444j++){var skippedField=FormRulesSettings.getFieldValueElements($(fieldsContainers[j]));
445if(skippedField.length){var fieldName=skippedField.first().attr("name");
446var fieldStartWrapper=$(this.formContainer).find("script[data-sf-role-field-name='"+fieldName+"']")[0];
447if(fieldStartWrapper){var dataSfRole=$(fieldStartWrapper).attr("data-sf-role");
448if(dataSfRole){var fieldControlId=dataSfRole.replace("start_field_","");
449this._skipField(fieldControlId);
450}}}}}}}else{for(var fieldIndex=this.skipFields.length-1;
451fieldIndex>=0;
452fieldIndex--){var fieldPageIndex=this._getFieldPageContainerIndex(this.skipFields[fieldIndex]);
453if(nextIndex<fieldPageIndex&&fieldPageIndex<previousIndex){this._unskipField(this.skipFields[fieldIndex]);
454}}}this._setSkipFields(this.skipFields);
455},_skipField:function(fieldControlId){var index=this._arrayIndexOf(this.skipFields,fieldControlId);
456if(index===-1){this.skipFields.push(fieldControlId);
457var fieldElement=this._getFieldElement(fieldControlId);
458fieldElement.attr("disabled","disabled");
459}},_unskipField:function(fieldControlId){var index=this._arrayIndexOf(this.skipFields,fieldControlId);
460if(index>-1){this.skipFields.splice(index,1);
461var fieldElement=this._getFieldElement(fieldControlId);
462fieldElement.removeAttr("disabled");
463}},_actionItemIndexOf:function(actions,actionData){for(var i=0;
464i<actions.length;
465i++){if(actions[i].data.target===actionData.target&&actions[i].data.name===actionData.name&&actions[i].data.pageIndex===actionData.pageIndex){return i;
466}}return -1;
467},_getContextField:function(context,fieldControlId){for(var i=0;
468i<context.fields.length;
469i++){if(context.fields[i].FieldControlId===fieldControlId){return context.fields[i];
470}}return null;
471},_getFieldElement:function(fieldControlId){var scriptWrapper=$(this.formContainer).find(this._getFieldStartSelector(fieldControlId));
472if(scriptWrapper&&scriptWrapper.length>0){var fieldAllElements=$(scriptWrapper).nextUntil(this._getFieldEndSelector(fieldControlId));
473var fieldContainerNames=FormRulesSettings.getFieldsContainerNames();
474if(fieldContainerNames&&fieldContainerNames.length>0){for(var i=0;
475i<fieldContainerNames.length;
476i++){var containerSelector='[data-sf-role="'+fieldContainerNames[i]+'"]';
477var fieldContainer=fieldAllElements.filter(containerSelector);
478if(!fieldContainer||fieldContainer.length===0){fieldContainer=fieldAllElements.find(containerSelector);
479}if(fieldContainer&&fieldContainer.length>0){return FormRulesSettings.getFieldValueElements(fieldContainer);
480}}}}return $();
481},_showField:function(context,fieldControlId){var invalidTags=["script"];
482var index=this._arrayIndexOf(context.hiddenFields,fieldControlId);
483if(index>-1){context.hiddenFields.splice(index,1);
484var scriptWrapper=$(context.formContainer).find(this._getFieldStartSelector(fieldControlId));
485if(scriptWrapper&&scriptWrapper.length>0){var fieldElement=this._getFieldElement(fieldControlId);
486if(fieldElement&&fieldElement.length>0){fieldElement.removeAttr("disabled");
487}$(scriptWrapper).nextUntil(this._getFieldEndSelector(fieldControlId)).each(function(i,element){if(invalidTags.indexOf(element.tagName.toLowerCase())<0){$(element).show();
488}});
489}}},_hideField:function(context,fieldControlId){var index=this._arrayIndexOf(context.hiddenFields,fieldControlId);
490if(index===-1){context.hiddenFields.push(fieldControlId);
491var scriptWrapper=$(context.formContainer).find(this._getFieldStartSelector(fieldControlId));
492if(scriptWrapper&&scriptWrapper.length>0){var fieldElement=this._getFieldElement(fieldControlId);
493if(fieldElement&&fieldElement.length>0){fieldElement.attr("disabled","disabled");
494}$(scriptWrapper).nextUntil(this._getFieldEndSelector(fieldControlId)).each(function(i,element){$(element).hide();
495});
496}}},_getFieldType:function(fieldControlId){var fieldElement=this._getFieldElement(fieldControlId);
497var fieldType=fieldElement.data("sf-input-type");
498if(!fieldType){fieldType=this._getFieldElement(fieldControlId).attr("type");
499}return fieldType;
500},_getFieldValues:function(fieldControlId){var fieldContainer=this._getFieldContainer(fieldControlId);
501return FormRulesSettings.getFieldValues(fieldContainer);
502},_getFieldContainer:function(fieldControlId){return this._getFieldElement(fieldControlId).closest(this.fieldContainerSelector);
503},_getFieldPageContainer:function(fieldControlId){var element=this._getFieldElement(fieldControlId);
504var separator=element.closest(this.separatorSelector);
505return separator.length>0?separator:element.closest(this.formContainerSelector);
506},_getFieldPageContainerIndex:function(fieldControlId){var fieldPageContainer=this._getFieldPageContainer(fieldControlId);
507return this.pages.index(fieldPageContainer);
508},_fieldIndexOf:function(fields,fieldControlId){for(var i=0;
509i<fields.length;
510i++){if(fields[i].FieldControlId===fieldControlId){return i;
511}}return -1;
512},_getExecutedActions:function(){return this.formContainer.data("sfActions")||[];
513},_setExecutedActions:function(actions){this.formContainer.data("sfActions",actions);
514},_getHiddenFields:function(){return this._createArrayFromCsvValue($(this.formContainer).find(this.hiddenFieldsSelector).val());
515},_setHiddenFields:function(fields){$(this.formContainer).find(this.hiddenFieldsSelector).val(fields.join(","));
516},_getSkipFields:function(){return this._createArrayFromCsvValue($(this.formContainer).find(this.skipFieldsSelector).val());
517},_setSkipFields:function(fields){$(this.formContainer).find(this.skipFieldsSelector).val(fields.join(","));
518},_createArrayFromCsvValue:function(value){var array=(value||"").split(","),newArray=[];
519for(var i=0;
520i<array.length;
521i++){if(array[i]&&array[i]!==""){newArray.push(array[i]);
522}}return newArray;
523},_arrayIndexOf:function(array,value){for(var i=0;
524i<array.length;
525i++){if(array[i]===value){return i;
526}}return -1;
527},_compareArrays:function(array1,array2){var i=array1.length;
528if(i!==array2.length){return false;
529}while(i--){if(array1[i]!==array2[i]){return false;
530}}return true;
531},_some:function(array,func){for(var i=0;
532i<array.length;
533i++){if(func(array[i])){return true;
534}}return false;
535},_every:function(array,func){for(var i=0;
536i<array.length;
537i++){if(!func(array[i])){return false;
538}}return true;
539},_getFieldStartSelector:function(fieldControlId){return'script[data-sf-role="start_field_'+fieldControlId+'"]';
540},_getFieldEndSelector:function(fieldControlId){return'script[data-sf-role="end_field_'+fieldControlId+'"]';
541}};
542var formRuleExecutorsCache=[];
543$.fn.extend({processFormRules:function(resetElementCache){var formContainerSelector=getFormContainerSelector();
544var formContainer=$(this).closest(formContainerSelector);
545if(formContainer&&formContainer.length>0){var formRulesExecutor=null;
546var cachedFormRulesExecutorObject=formRuleExecutorsCache.filter(function(e){return e.formContainer===formContainer[0];
547})[0];
548if(resetElementCache!==true&&cachedFormRulesExecutorObject){formRulesExecutor=cachedFormRulesExecutorObject.formRulesExecutor;
549}else{formRulesExecutor=new FormRulesExecutor($(this));
550if(resetElementCache===true){formRuleExecutorsCache=formRuleExecutorsCache.filter(function(e){return e.formContainer!==cachedFormRulesExecutorObject.formContainer;
551});
552}formRuleExecutorsCache.push({formContainer:formContainer[0],formRulesExecutor:formRulesExecutor});
553}formRulesExecutor.process();
554}}});
555$(document).ready(function(){setTimeout(function(){var formContainerSelector=getFormContainerSelector();
556var formContainers=$(formContainerSelector);
557formContainers.each(function(i,element){if(typeof $.fn.processFormRules==="function"){$(element).processFormRules(true);
558}});
559});
560});
561function getFormContainerSelector(){var selector='[data-sf-role="form-container"]';
562if($(selector).length>0){return selector;
563}return"#PublicWrapper";
564}}(jQuery));

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.