var params = arguments.parameters; var selectorObj = getSelectorObj(); var errorMsgCustom = 'An error occurred while trying to perform the operation.'; var resultCEData = ArrayNew(1); var widthVal = "400px"; var heightVal = "200px"; var fldCurValArray = ListToArray(arguments.value); var fldCurValWithFldID = ''; var i = 0; params.rootValue = trim(params.rootValue); resultCEData = getData(propertiesStruct=params, elementID=arguments.formID, fieldID=arguments.fieldID, value=arguments.value); if ( IsArray(resultCEData) AND ArrayLen(resultCEData) AND NOT IsSimpleValue(resultCEData[1]) ) errorMsgCustom = ''; else if (ArrayLen(resultCEData) EQ 0) errorMsgCustom = 'No records found to be displayed for the field.'; // Set the width and height value if (StructKeyExists(params,'widthValue') AND IsNumeric(params.widthValue)) widthVal = "#params.widthValue#px"; if (StructKeyExists(params,'heightValue') AND IsNumeric(params.heightValue)) heightVal = "#params.heightValue#px"; // Prepend the current values with fieldID if (ArrayLen(fldCurValArray)) { for (i=1; i LTE ArrayLen(fldCurValArray);i=i+1) { fldCurValWithFldID = ListAppend(fldCurValWithFldID, '#arguments.fieldID#_#fldCurValArray[i]#'); } } #selectorObj.renderStyles(propertiesStruct=params)# #errorMsgCustom#
if (NOT Len(errorMsgCustom)) renderJSFunctions(argumentCollection=arguments, curFieldValueWithID=fldCurValWithFldID, dataResults=resultCEData);
#Server.CommonSpot.UDF.tag.input(type="hidden", id="#arguments.fieldName#", name="#arguments.fieldName#", value="#arguments.value#")#
private array function getData(required struct propertiesStruct, required numeric elementID, required numeric fieldID, required string value) { var data = []; var selectorObj = getSelectorObj(); //var isInMemory = selectorObj.isMemoryStructureGood(propertiesStruct=arguments.propertiesStruct, elementID=arguments.elementID, fieldID=arguments.fieldID); //if (isInMemory == 0) selectorObj.buildMemoryStructure(propertiesStruct=arguments.propertiesStruct, elementID=arguments.elementID, fieldID=arguments.fieldID); //writeDump(var=Application.dbHierarchyCustomField[arguments.elementID][arguments.fieldID], expand=false); data = selectorObj.getFilteredData(propertiesStruct=arguments.propertiesStruct, elementID=arguments.elementID, fieldID=arguments.fieldID, currentValues=arguments.value); //writeDump(var=data, expand=false); return data; } private any function getSelectorObj() { var ajaxBeanName = 'dbHierarchySelector'; var selectorObj = application.ADF[ajaxBeanName]; return selectorObj; } var inputParameters = application.ADF.data.duplicateStruct(arguments.parameters); // Set the defaults if ( NOT StructKeyExists(inputParameters,"datasource") OR !LEN(TRIM(inputParameters.datasource)) ) inputParameters.datasource = ""; if ( NOT StructKeyExists(inputParameters,"sortCriteriaStr") OR !LEN(TRIM(inputParameters.sortCriteriaStr)) ) inputParameters.sortCriteriaStr = ""; //if( NOT StructKeyExists(inputParameters,"widthValue") OR NOT IsNumeric(inputParameters.widthValue) ) // inputParameters.widthValue = "200"; //if( NOT StructKeyExists(inputParameters,"heightValue") OR NOT IsNumeric(inputParameters.heightValue) ) // inputParameters.heightValue = "150"; return inputParameters; var params = arguments.parameters; var cftDBhierarchyJS = ''; // Set the 'multiple' property var bMult = (params.selectionType EQ 'single') ? false : true; // Set the 'triState' property var triState = (params.selectionType EQ 'multiAuto') ? true : false; // Set the 'auto select parent' property var autoSelectParents = (params.selectionType EQ 'multiAutoParents') ? true : false; //WriteDump(var=arguments.value,expand=false); //WriteDump(var=arguments.curFieldValueWithID,expand=false); //WriteDump(var=arguments.dataResults,expand=false); application.ADF.scripts.addFooterJS(cftDBhierarchyJS,"TERTIARY"); private any function getValidationJS(required string formName, required string fieldName, required boolean isRequired) { if (arguments.isRequired) return 'hasValue(document.#arguments.formName#.#arguments.fieldName#, "TEXT")'; return ""; } private string function getValidationMsg() { return "Please select a value for the #arguments.label# field."; } public void function loadResourceDependencies() { application.ADF.scripts.loadJQuery(noConflict=true); application.ADF.scripts.loadJSTree(loadStyles=false); //application.ADF.scripts.loadFontAwesome(); } public string function getResourceDependencies() { return listAppend(super.getResourceDependencies(), "jQuery,JSTree"); //return listAppend(super.getResourceDependencies(), "jQuery,JSTree,FontAwesome"); } // Requires a Build of CommonSpot 10 higher than 10.0.0.313 public numeric function getMinHeight() { if (structKeyExists(arguments.parameters, "heightValue") && isNumeric(arguments.parameters.heightValue) && arguments.parameters.heightValue > 0) return arguments.parameters.heightValue; // always px return 0; } // Requires a Build of CommonSpot 10 higher than 10.0.0.313 public numeric function getMinWidth() { if ( structKeyExists(arguments.parameters, "widthValue") && isNumeric(arguments.parameters.widthValue) && arguments.parameters.widthValue > 0) return arguments.parameters.widthValue + 160; // 150 is default label width, plus some slack // always px return 0; } private boolean function isMultiline() { return true; }