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.Keys
com.webobjects.appserver.WOComponent._EventLoggingEnabler, com.webobjects.appserver.WOComponent.Event
com.webobjects.foundation.NSKeyValueCodingAdditions.DefaultImplementation, com.webobjects.foundation.NSKeyValueCodingAdditions.Utility
com.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.ValueAccessor
com.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, valueForBinding
invokeAction, 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, variableWithName
public 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)
ERDCustomComponent
D2WContext
. Applies when used inside a property key repetition.setD2wContext
in class ERDCustomComponent
public 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.ErrorHandling
handleQueryWithUnboundKey
in class com.webobjects.appserver.WOComponent
public void handleTakeValueForUnboundKey(Object value, String key)
handleTakeValueForUnboundKey
in interface com.webobjects.foundation.NSKeyValueCoding.ErrorHandling
handleTakeValueForUnboundKey
in class com.webobjects.appserver.WOComponent
Copyright © 2002 – 2020 Project Wonder.