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
WOComponent._EventLoggingEnabler, WOComponent.Event
NSKeyValueCodingAdditions.DefaultImplementation, NSKeyValueCodingAdditions.Utility
NSKeyValueCoding._BooleanFieldBinding, NSKeyValueCoding._BooleanMethodBinding, NSKeyValueCoding._FieldBinding, NSKeyValueCoding._ForwardingBinding, NSKeyValueCoding._KeyBinding, NSKeyValueCoding._KeyBindingCreation, NSKeyValueCoding._MethodBinding, NSKeyValueCoding._NumberFieldBinding, NSKeyValueCoding._NumberMethodBinding, NSKeyValueCoding._ReflectionKeyBindingCreation, NSKeyValueCoding.ErrorHandling, NSKeyValueCoding.MapImplementation, NSKeyValueCoding.Null<T>, NSKeyValueCoding.UnknownKeyException, NSKeyValueCoding.ValueAccessor
NSValidation._MethodBinding, NSValidation._ValidationBinding, NSValidation.DefaultImplementation, NSValidation.Utility, 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
_CLASS
_CLASS, _KeyPathSeparatorChar, KeyPathSeparator
NullValue
_CLASS
Constructor and Description |
---|
ERMDAjaxNotificationCenter(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(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(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(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 NSKeyValueCoding.ErrorHandling
handleQueryWithUnboundKey
in class WOComponent
public void handleTakeValueForUnboundKey(Object value, String key)
handleTakeValueForUnboundKey
in interface NSKeyValueCoding.ErrorHandling
handleTakeValueForUnboundKey
in class WOComponent
Copyright © 2002 – 2024 Project Wonder.