var allAtrs = getAllAttributes(); var inputParameters = application.ADF.data.duplicateStruct(arguments.parameters); var uniqueTableAppend = arguments.fieldID; var ceFormID = arguments.formID; var elementType = ''; var parentFormLabel = ''; var infoArgs = StructNew(); var infoMethod = "getInfo"; var parentElementObj = ''; var childElementObj = Server.CommonSpot.ObjectFactory.getObject('CustomElement'); var datamanagerObj = ''; var parentFormDetails = QueryNew(''); var childElementDetails = QueryNew(''); var childFormName = ''; var ext = ''; var fileName = ''; var fileNameWithExt = ''; var widthVal = "600px"; var heightVal = "150px"; var curPageID = 0; var allFieldsQuery = arguments.fieldQuery; var getDataDetails = QueryNew(''); var getClass = QueryNew(''); var dsn = request.site.datasource; var newData = ''; // Path to component in the ADF var componentOverridePath = "#request.site.csAppsURL#components"; var ajaxBeanName = 'customElementDataManager'; select count(*) as CNT from Data_fieldValue where FormID = AND PageID = AND ControlID = newData = (getDataDetails.cnt == 0) ? 1 : 0; if (NOT IsNumeric(newData)) { if (StructKeyExists(Request.Params, 'newData') AND IsNumeric(Request.Params.newData)) newData = Request.Params.newData; else newData = (StructKeyExists(allAtrs.currentValues, 'AuthorID') AND allAtrs.currentValues.AuthorID GT 0) ? 0 : 1; } if (arguments.formType NEQ 'Custom Metadata Form' AND NOT ListFindNoCase(inputParameters.interfaceOptions, 'disableDatamanager')) request.showSaveAndContinue = 0; else request.showSaveAndContinue = newData; // forces showing or hiding of 'Save & Continue' button if (NOT StructKeyExists(inputParameters, "secondaryElementType")) inputParameters.secondaryElementType = "CustomElement"; /*if (StructKeyExists(Request.Params, 'controlTypeID')) ceFormID = Request.Params.controlTypeID; else if (StructKeyExists(Request.Params, 'formID')) ceFormID = Request.Params.formID; else if (StructKeyExists(allAtrs, 'fields')) ceFormID = allAtrs.fields.formID[1];*/ switch (arguments.formType) { case 'Custom Metadata Form': elementType = 'MetadataForm'; infoMethod = "getForms"; infoArgs.id = formID; break; default: elementType = 'CustomElement'; infoArgs.elementID = formID; break; } if (StructKeyExists(Request.Params,'pageID') AND elementType EQ 'MetadataForm') curPageID = Request.Params.pageID; parentElementObj = Server.CommonSpot.ObjectFactory.getObject(elementType); if (elementType EQ 'MetadataForm') parentFormLabel = parentFormDetails.formName; else parentFormLabel = parentFormDetails.Name; if (IsNumeric(inputParameters.assocCustomElement)) childElementDetails = childElementObj.getList(ID=inputParameters.assocCustomElement); else childElementDetails = childElementObj.getList(ID=inputParameters.childCustomElement); childFormName = childElementDetails.Name; if (Len(inputParameters.compOverride)) { ext = ListLast(inputParameters.compOverride,'.'); if (ext EQ 'cfc') { fileName = Mid(inputParameters.compOverride, 1, Len(inputParameters.compOverride)-Len(ext)-1); fileNamewithExt = inputParameters.compOverride; } else { fileName = inputParameters.compOverride; fileNamewithExt = inputParameters.compOverride & '.cfc'; } try { if ( StructKeyExists(application.ADF,fileName) ) { datamanagerObj = application.ADF[fileName]; ajaxBeanName = fileName; } else if ( FileExists(ExpandPath('#componentOverridePath#/#fileNamewithExt#')) ) { datamanagerObj = CreateObject("component", "#componentOverridePath#/#fileName#"); ajaxBeanName = fileName; } else { datamanagerObj = application.ADF[ajaxBeanName]; } } catch(Any e) { Server.CommonSpot.UDF.mx.doLog("DataManager: Could not load override component '#inputParameters.compOverride#'"); datamanagerObj = application.ADF[ajaxBeanName]; } } else { datamanagerObj = application.ADF[ajaxBeanName]; } if (IsNumeric(inputParameters.widthValue)) { widthVal = "#inputParameters.widthValue#"; if (inputParameters.widthUnit EQ 'percent') widthVal = widthVal & '%'; else widthVal = widthVal & 'px'; } if (IsNumeric(inputParameters.heightValue)) heightVal = "#inputParameters.heightValue#px"; #Server.CommonSpot.UDF.tag.input(type="hidden", name=arguments.fieldName, value="")# #datamanagerObj.renderStyles(propertiesStruct=inputParameters)#
#datamanagerObj.renderButtons(propertiesStruct=inputParameters,currentValues=allAtrs.currentValues,formID=ceFormID,fieldID=arguments.fieldID,parentFormType=elementType,pageID=curPageID)#
 Loading data from server
#childFormName# records can only be added once the #parentFormLabel# record is saved.
renderJSFunctions(argumentCollection=arguments, ajaxBeanName=ajaxBeanName, formID=ceFormID, elementType=elementType, pageID=curPageID, width=widthVal, height=heightVal, newData=newData); #Server.CommonSpot.UDF.tag.input(type="hidden", name=arguments.fieldName)#
#Server.CommonSpot.UDF.tag.input(type="hidden", name=arguments.fieldName)#
var inputParameters = application.ADF.data.duplicateStruct(arguments.parameters); var allAtrs = getAllAttributes(); var uniqueTableAppend = arguments.fieldID; // Ajax URL to the proxy component in the context of the site var ajaxComURL = application.ADF.ajaxProxy; private boolean function isMultiline() { return true; } public numeric function getMinHeight() { if (structKeyExists(arguments.parameters, "heightValue") && isNumeric(arguments.parameters.heightValue) && arguments.parameters.heightValue > 0) return arguments.parameters.heightValue; // always px return 200; } public numeric function getMinWidth() { if (arguments.parameters.widthUnit == "px" && 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 return 800; } public string function getResourceDependencies() { return listAppend(super.getResourceDependencies(), "jQuery,jQueryUI,JQueryDataTables,jQueryUIDefaultTheme"); } public string function loadResourceDependencies() { application.ADF.scripts.loadJQuery(noConflict=true); application.ADF.scripts.loadJQueryUI(); application.ADF.scripts.loadJQueryDataTables(loadStyles="false"); }