var inputParameters = application.ADF.data.duplicateStruct(arguments.parameters); var currentValue = arguments.value; // the field's current value var units = ''; var top = ''; var right = ''; var bottom = ''; var left = ''; var unitsOptions = 'px,%,em,rem,vw,vh,vmin,vmax,none'; var unitsHints = ArrayNew(1); var unitsHintsList = ''; unitsHints[1] = 'Spacing in pixels'; unitsHints[2] = 'Spacing relative to the percentage of the parent'; unitsHints[3] = 'Spacing relative to the font-size of the element (2em = 2 times the size of the current font)'; unitsHints[4] = 'Spacing relative to font-size of the root element'; unitsHints[5] = 'Spacing relative to 1% of the width of the viewport'; unitsHints[6] = 'Spacing relative to 1% of the height of the viewport'; unitsHints[7] = "Spacing relative to 1% of viewport's smaller dimension"; unitsHints[8] = "Spacing relative to 1% of viewport's larger dimension"; unitsHints[9] = "Don't set spacing"; unitsHintsList = ArrayToList(unitsHints); inputParameters = setDefaultParameters(argumentCollection=arguments); if( currentValue eq '' ) { top = application.ADF.paddingSettings.normalizePaddingValues(PaddingValues=inputParameters.top); right = application.ADF.paddingSettings.normalizePaddingValues(PaddingValues=inputParameters.right); bottom = application.ADF.paddingSettings.normalizePaddingValues(PaddingValues=inputParameters.bottom); left = application.ADF.paddingSettings.normalizePaddingValues(PaddingValues=inputParameters.left); units = inputParameters.units; } else { top = application.ADF.paddingSettings.normalizePaddingValues(PaddingValues=ListGetAt( currentValue, 1, ' ' ) ); right = application.ADF.paddingSettings.normalizePaddingValues(PaddingValues=ListGetAt( currentValue, 2, ' ' ) ); bottom = application.ADF.paddingSettings.normalizePaddingValues(PaddingValues=ListGetAt( currentValue, 3, ' ' ) ); left = application.ADF.paddingSettings.normalizePaddingValues(PaddingValues=ListGetAt( currentValue, 4, ' ' ) ); units = reReplace(listFirst(currentValue, " "), "[0-9]", "", "ALL"); if (units == '') units = 'none'; } currentValue = top & '#units# ' & right & '#units# ' & bottom & '#units# ' & left & '#units#'; // overwritten by js, which takes into account whether field is hidden, by reading form field value, hidden ones are always 0 // TODO: make sure each value in the possible values string is numeric
#application.ADF.paddingSettings.renderSelectionList(true,'Units:',inputParameters.FieldID,'Units',units,unitsOptions,'',unitsHintsList)# #application.ADF.paddingSettings.renderSelectionList(inputParameters.showTop,'Top:',inputParameters.FieldID,'Top',top,inputParameters.possibleValues)# #application.ADF.paddingSettings.renderSelectionList(inputParameters.showRight,'Right:',inputParameters.FieldID,'Right',right,inputParameters.possibleValues)# #application.ADF.paddingSettings.renderSelectionList(inputParameters.showBottom,'Bottom:',inputParameters.FieldID,'Bottom',bottom,inputParameters.possibleValues)# #application.ADF.paddingSettings.renderSelectionList(inputParameters.showLeft,'Left:',inputParameters.FieldID,'Left',left,inputParameters.possibleValues)# #application.ADF.paddingSettings.renderNumberInput(inputParameters.showTop,'Top:',inputParameters.FieldID,'Top',top)# #application.ADF.paddingSettings.renderNumberInput(inputParameters.showRight,'Right:',inputParameters.FieldID,'Right',right)# #application.ADF.paddingSettings.renderNumberInput(inputParameters.showBottom,'Bottom:',inputParameters.FieldID,'Bottom',bottom)# #application.ADF.paddingSettings.renderNumberInput(inputParameters.showLeft,'Left:',inputParameters.FieldID,'Left',left)#
renderJSFunctions(argumentCollection=arguments,fieldParameters=inputParameters);
var inputParameters = application.ADF.data.duplicateStruct(arguments.fieldParameters); var cftFooterJS = ''; application.ADF.scripts.addFooterJS(cftFooterJS,"TERTIARY"); var inputParameters = application.ADF.data.duplicateStruct(arguments.parameters); // Validate if the property field has been defined if ( NOT StructKeyExists(inputParameters, "fldID") OR LEN(inputParameters.fldID) LTE 0 ) inputParameters.fldID = arguments.fieldName; if ( NOT StructKeyExists(inputParameters, "fieldID") ) inputParameters.fieldID = arguments.fieldName; if ( (NOT StructKeyExists(inputParameters, "fieldClass")) OR ( LEN(TRIM(inputParameters.fieldClass)) LTE 0) ) inputParameters.fieldClass = ""; // Remove any labels from the possibleValues String if ( StructKeyExists(inputParameters, "possibleValues") AND LEN(TRIM(inputParameters.possibleValues)) ) inputParameters.possibleValues = application.ADF.paddingSettings.normalizePaddingValues(PaddingValues=inputParameters.possibleValues); else inputParameters.possibleValues = ""; if( NOT StructKeyExists( inputParameters, 'ShowTop' ) ) inputParameters.ShowTop = 0; if( NOT StructKeyExists( inputParameters, 'ShowRight' ) ) inputParameters.ShowRight = 0; if( NOT StructKeyExists( inputParameters, 'ShowBottom' ) ) inputParameters.ShowBottom = 0; if( NOT StructKeyExists( inputParameters, 'ShowLeft' ) ) inputParameters.ShowLeft = 0; if( NOT StructKeyExists( inputParameters, 'Units' ) ) inputParameters.Units = 'px'; return inputParameters; /* IMPORTANT: Since loadResourceDependencies() is using ADF.scripts loadResources methods, getResourceDependencies() and loadResourceDependencies() must stay in sync by accounting for all of required resources for this Custom Field Type. */ public void function loadResourceDependencies() { // Load registered Resources via the ADF scripts_2_0 application.ADF.scripts.loadJQuery(noConflict=true); } public string function getResourceDependencies() { return "jQuery"; } public numeric function getMinWidth() { return 800; }