public class ERMDAjaxNotificationCenter extends ERDCustomComponent
100 : ((task = 'create' or task = 'edit') and entity.name = 'Person') => propertyDependencies = {"isFemale" = ("salutation"); "dateOfBirth" = ("discount", "parentEmail"); } [com.webobjects.directtoweb.Assignment]
This will observe the property keys "isFemale" and "dateOfBirth". If
"isFemale" changes, the "salutation" property will be updated. If
"dateOfBirth" changes, the "discount" and "parentEmail" properties will be
updated. You can then hide and show properties on the fly by using the
displayVariant key:
100 : ((task = 'create' or task = 'edit') and entity.name = 'Person' and propertyKey = 'parentEmail' and object.isAdult = '1') => displayVariant = "omit" [com.webobjects.directtoweb.Assignment]By default, ERMDAjaxNotificationCenter will be included in the aboveDisplayPropertyKeys repetition when propertyDependencies is not null. If you set aboveDisplayPropertyKeys yourself, you have to include the "ajaxNotificationCenter" property key. Unlike the original version by Ramsey, this implementation depends on ERMDInspectPageRepetition to insert AjaxObserveField and AjaxUpdateContainer components where required.
| Name | Description |
|---|---|
ajaxNotificationCenter | ajaxNotificationCenter |
propertyDependencies | propertyDependencies |
ERDCustomComponent.Keyscom.webobjects.appserver.WOComponent._EventLoggingEnabler, com.webobjects.appserver.WOComponent.Eventcom.webobjects.foundation.NSKeyValueCodingAdditions.DefaultImplementation, com.webobjects.foundation.NSKeyValueCodingAdditions.Utilitycom.webobjects.foundation.NSKeyValueCoding._BooleanFieldBinding, com.webobjects.foundation.NSKeyValueCoding._BooleanMethodBinding, com.webobjects.foundation.NSKeyValueCoding._FieldBinding, com.webobjects.foundation.NSKeyValueCoding._ForwardingBinding, com.webobjects.foundation.NSKeyValueCoding._KeyBinding, com.webobjects.foundation.NSKeyValueCoding._KeyBindingCreation, com.webobjects.foundation.NSKeyValueCoding._MethodBinding, com.webobjects.foundation.NSKeyValueCoding._NumberFieldBinding, com.webobjects.foundation.NSKeyValueCoding._NumberMethodBinding, com.webobjects.foundation.NSKeyValueCoding._ReflectionKeyBindingCreation, com.webobjects.foundation.NSKeyValueCoding.ErrorHandling, com.webobjects.foundation.NSKeyValueCoding.MapImplementation, com.webobjects.foundation.NSKeyValueCoding.Null<T>, com.webobjects.foundation.NSKeyValueCoding.UnknownKeyException, com.webobjects.foundation.NSKeyValueCoding.ValueAccessorcom.webobjects.foundation.NSValidation._MethodBinding, com.webobjects.foundation.NSValidation._ValidationBinding, com.webobjects.foundation.NSValidation.DefaultImplementation, com.webobjects.foundation.NSValidation.Utility, com.webobjects.foundation.NSValidation.ValidationException| Modifier and Type | Field and Description |
|---|---|
static ERXKey<String> |
AJAX_NOTIFICATION_CENTER_ID |
static ERXKey<NSDictionary<String,NSArray<String>>> |
PROPERTY_DEPENDENCIES |
static ERXKey<String> |
PROPERTY_KEY |
static ERXKey<String> |
PROPERTY_OBSERVER_ID |
static String |
PropertyChangedNotification |
static String |
RegisterPropertyObserverIDNotification |
extraBindings, FALSE, TRUE_dynamicBindings_Extension, _IsEventLoggingEnabled, _keyAssociations| Constructor and Description |
|---|
ERMDAjaxNotificationCenter(com.webobjects.appserver.WOContext context) |
| Modifier and Type | Method and Description |
|---|---|
Object |
handleQueryWithUnboundKey(String key)
Since this component uses synchronization to update observers when the
d2wContext changes, it cannot be non-synchronizing.
|
void |
handleTakeValueForUnboundKey(Object value,
String key)
Since this component uses synchronization to update observers when the
d2wContext changes, it cannot be non-synchronizing.
|
String |
id() |
NSArray<String> |
propertyChanged(com.webobjects.directtoweb.D2WContext context) |
void |
propertyChanged(com.webobjects.foundation.NSNotification n) |
NSDictionary<String,NSArray<String>> |
propertyDependencies(com.webobjects.directtoweb.D2WContext context) |
void |
setD2wContext(com.webobjects.directtoweb.D2WContext context)
Sets the
D2WContext. |
NSMutableArray<String> |
updateContainerIDs() |
appendToResponse, clearValidationFailed, d2wComponentNameDebuggingEnabled, d2wContext, d2wContextFromBindings, d2wContextValueForBinding, d2wDebuggingEnabled, d2wPage, d2wPropertyKeyDebuggingEnabled, extraBindings, extraBindingsValueForBinding, hasBinding, integerBooleanForBinding, key, localContext, logDebugInfo, originalValueForBinding, parentValueForBinding, reset, resetCachedBindingsInStatefulComponent, setExtraBindings, setKey, setLocalContext, synchronizesVariablesWithBindings, task, taskIsEdit, taskIsInspect, taskIsList, validationFailedWithException, valueForBindinginvokeAction, takeValuesFromRequest_awakeInContext, _checkAccess, _frameworkName, _includeCSSResources, _includeJavascriptResources, additionalCSSFiles, additionalJavascriptFiles, arrayValueForBinding, arrayValueForBinding, booleanValueForBinding, booleanValueForBinding, booleanValueForBinding, browser, checkAccess, clickToOpenEnabled, componentName, defaultCSSPath, defaultJavascriptPath, dynamicBindings, floatValueForBinding, intValueForBinding, isPageAccessAllowed, localizer, objectValueForBinding, objectValueForBinding, pageWithName, postAppendToResponse, preAppendToResponse, primaryCSSFile, primaryJavascriptFile, shouldCheckAccess, stringValueForBinding, stringValueForBinding, useDefaultComponentCSS, useDefaultComponentJavascript__valueForBinding, _associationWithName, _childTemplate, _cleanUpStatelessComponent, _componentDefinition, _componentUnroll, _isPage, _setContext, _setIsPage, _setParent, _setSubcomponent, _sleepInContext, _subcomponentForElementWithID, _templateNameForClass, _unroll, application, awake, baseURL, bindingKeys, canAccessFieldsDirectly, canGetValueForBinding, canSetValueForBinding, clone, context, debugString, descriptionForResponse, ensureAwakeInContext, frameworkName, generateResponse, hasSession, isCachingEnabled, isEventLoggingEnabled, isStateless, logString, name, pageWithName, parent, path, pathURL, performParentAction, pullValuesFromParent, pushValuesToParent, session, set_componentUnroll, set_unroll, setCachingEnabled, setValueForBinding, setVariableValueForName, sleep, takeValueForKey, takeValueForKeyPath, template, templateWithHTMLString, templateWithHTMLString, templateWithHTMLString, templateWithName, toString, unableToSetNullForKey, validateTakeValueForKeyPath, validateValueForKey, valueForBooleanBinding, valueForIntegerBinding, valueForKey, valueForKeyPath, valueForNSArrayBindings, valueForNSDictionaryBindings, valueForNumberBinding, valueForStringBinding, variableValueForName, variableWithNamepublic static final ERXKey<NSDictionary<String,NSArray<String>>> PROPERTY_DEPENDENCIES
public static final String PropertyChangedNotification
public static final String RegisterPropertyObserverIDNotification
public ERMDAjaxNotificationCenter(com.webobjects.appserver.WOContext context)
public String id()
public void setD2wContext(com.webobjects.directtoweb.D2WContext context)
ERDCustomComponentD2WContext. Applies when used inside a property key repetition.setD2wContext in class ERDCustomComponentpublic NSMutableArray<String> updateContainerIDs()
public void propertyChanged(com.webobjects.foundation.NSNotification n)
public NSDictionary<String,NSArray<String>> propertyDependencies(com.webobjects.directtoweb.D2WContext context)
public NSArray<String> propertyChanged(com.webobjects.directtoweb.D2WContext context)
context - The d2wContext of the changed property level componentpublic Object handleQueryWithUnboundKey(String key)
handleQueryWithUnboundKey in interface com.webobjects.foundation.NSKeyValueCoding.ErrorHandlinghandleQueryWithUnboundKey in class com.webobjects.appserver.WOComponentpublic void handleTakeValueForUnboundKey(Object value, String key)
handleTakeValueForUnboundKey in interface com.webobjects.foundation.NSKeyValueCoding.ErrorHandlinghandleTakeValueForUnboundKey in class com.webobjects.appserver.WOComponentCopyright © 2002 – 2020 Project Wonder.