Class List for ERDirectToWeb

Principal Class

ERDirectToWeb
Has a boatload of utility methods as well as sets up the framework. Look in the static initialize() method to see what happens when you link in this framework.

Workarounds/Bugfixes



ERD2WEditLargeString
Works around an issue in WOText where a null value is transformed into "". This is not what WOTextField does.
ERDAssignment
This assignment works around an issue with d2w andentity inheritance. See class for details.
ERDSmartRelationshipAssignment
This assignment works around an issue with d2w andentity inheritance. See class for details.

D2W Interfaces

ERDBranchInterface
Implemented by templates that need to have a branching behaviour. A good example is the D2WPick which can offer n choices to the user. In this case each choice is mapped to a branch name that corresponds to a method on the branch delegate.
ERDComputingAssignmentInterface
In the new rule caching system the significant keys are built on the fly. For custom assignments that explicitly depend on other keys this interface needs to be implemented so the caching system can take them in to account.
ERDEditPageInterface
Small improvements to the EditPageInterface.
ERDTabEditPageInterface
Used to identify tab edit pages, not requiring common superclass.
ERDObjectSaverInterface
Nice interface implemented by all ER edit pages. In a next page delegate you can ask the sender if the object was saved. Useful for determining which button the user hit, ie save or cancel.
ERDFollowPageInterface
Interface used for follow page configurations, ie the first page config is an edit and we want an inspect to follow, maybe for the user to look at it before saving.
ERDMessagePageInterface
Super set of all D2W message interfaces, confirm and error.
ERDPickPageInterface
Formal interface for multiple object selection.
ERDLocalizableAssignmentInterface
For localized assignments
ERDUserInfoInterface
Interface implemented by templates to allow stuff and retriving of transient information.

D2W Delegates

ERDConfirmObjectDelegate
Extends ObjectSaverDelegate to provide a confirm page.
ERDConfirmObjectWasSavedDelegate
Determines if the user wants the changes saved if so provides a confirm page, if note uses cancel delegate.
ERDBranchDelegate
Delegate used in conjunction with picking objects. Uses reflection to determine which action to invoke on the delegate.
ERDDeletionDelegate
Delete used after confirming a delete action.
ERDPageDelegate
Generic little delegate. Nice when all you really want to do is return a page, but the interface says you have to use a delegate.
ERDPageNameDelegate
NextPageDelegate that takes a given page name and when called creates and returns the given named page.

D2W Assignments

ERDDelayedAssignment
Crazy assignment used when you actually don't want the computed value cached.
ERDDelayedBooleanAssignment
Takes a condition and evalutaes this condition everytime the rule is asked for.
ERDDelayedConditionalAssignment
More generic then the boolean assignment. Specify a qualifer format and the arguments and this assignment will evaulte the qualifier and return either a true or false value.
ERDKeyValueAssignment
A key-value assignment that will never be cached.
ERDDelayedNonNullConditionalAssignment
A non-null conditional assignment that will never be cached.
ERDDelayedRuleAssignment
Evaluates an array of rules using the first non-null result it finds.
ERDAssignment
Superclass of most assignments. Uses reflection so that if an assignment is mapped to a rhs of say foo, then the method foo(D2WContext) will be called instead of fire(D2WContext).
ERDConfigurationAssignment
Used to generate pageConfigutation names for the current object, ie CreateFoo.
ERDDefaultCancelCreationMessageAssignment
Message assignment used when hitting a cancel button, just a little "Are you sure?" kind of thing.
ERDDefaultEntityNameAssignment
Beautify the entity name.
ERDDefaultPropertyNameAssignment
Beautify the propertyKey name in a better way.
ERDDefaultsAssignment
A bunch of methods used for pulling default values from attributes and relationships.
ERDEntityAssignment
Default entity assignment, will attempt to divine the entity from a named page configuration, ie for "EditMovie" would find the entity Movie.
ERDImageNameAssignment
Default way of generating image references for tabs and sections.
ERDTabConfigurationAssignment
Generated pageConfigurations that will use the tab inspect tempaltes.
ERDTabDictionaryComputer
Needed for d2w to play nice with the new caching scheme.
ERDTabSectionsContentsAssignment
Used to generate tab and section containers.
ERDRelationshipSortAssignment
Used to determine which sort key to use for a propertyKey that corresponds to a relatioship.
ERDUnitResolverAssignment
Used to resolve units off of EOAttributes. Will resolve paths with "@foo" off of the object itself.
ERDSmartRelationshipAssignment
Description forthcoming.
ERDSmartAttributeAssignment
Description forthcoming.
ERDLocalizedMessageAssignment
Provides localized messages
ERDDelayedKeyValueAssignment
KeyValueAssignment implemented as a delayed assignment.

D2W Qualifiers

ERDIsKindOfEntityQualifier
Tests if an object is a kind of an entity.
ERDNullQualifier
Qualifer used to test if something is null.
ERDQualifierTraversalCallback
A callback used when traversing graphs of qualifiers.
ERDQualifierTraversal
Used for traversing a graph of qualifiers

D2W Base Additions

ERDCustomEditComponent
Superclass for most of the custom components. Has alot of nifty features including resolving bindings against the rule system.
ERDCustomQueryComponent
Superclass for most custom query components.
ERDEditDatePopupCommon
Common superclass for date editing components.
ERD2WKeyMapper
Useful for remapping keys if say you want to compare two different objects in a compare list.
ERD2WCalendarPage
Superclass of all calendar list pages.
ERDCustomComponent
Simpler CustomEditComponent. Work in progress.
ERD2WContainer
Used to hold pieces of a tabsSectionsContents, holds either sections or tabs.
ERD2WEditNumber
Common superclass of all ER's edit number components.
ERD2WFactory
Not used at the moment, but shows how it might be used in the future.
ERD2WModel
Has a new dynamic caching behaviour as well as numerious enhancements.
ERD2WPage
Common superclass for all ERD2W templates.
ERD2WSwitchComponent
Rewrite of D2WSwitchComponent to not cache the D2WContext. Useful for nesting configurations.
ERD2WUtilities
Utility methods to get around some of the package access.
ERD2WInspectPage
Superclass for all inspecting/editing ERD2W templates.
ERD2WListPage
Superclass for all list/pick pages.
ERD2WMessagePage
Superclass for all message pages. Still a work in progress.
ERD2WQueryPage
Superclass for all query pages.
ERD2WTabInspectPage
Superclass for all tab and wizard pages.
ERD2WDirectAction
Cool class to automatically create page configurations from URLs.

D2W Templates

ERD2WCompactInspectPageTemplate
Inspect template that is typically embedded in a page.
ERD2WCompactListPageTemplate
Compact list page. Doesn't have any of the navigation at the top.
ERDConfirmMessage
Confirming an action template.
ERD2WConfirmPageTemplate
More robust confirm messaging. Still a work in progress.
ERD2WCSVGroupingListPageTemplate
Grouping list in CSV format.
ERD2WCSVListPageTemplate
Standard list in CSV format.
ERD2WEditableListTemplate
List page for editing all items in the list.
ERD2WGroupingListPageTemplate
Displays a groups of objects grouped by a key.
ERD2WGroupingListXMLPageTemplate
Displays a grouped list of eos in an xml template.
ERD2WGroupingPrinterFriendlyListPageTemplate
Printer friendly version.
ERD2WInspectPageTemplate
Beefed up inspect page.
ERD2WListComparePageTemplate
Basicly a list page flipped vertical. Useful for comparing from a left to right fashion.
ERD2WListPageTemplate
Beefed up list page.
ERD2WListXMLPageTemplate
List xml template.
ERD2WMessagePageTemplate
Used to present a message to the user with only one option, usually "OK".
ERD2WPickListPageTemplate
A basic list but adding the ability to choose an arbitrary number of eos. Useful for say picking which things you are interested in.
ERD2WPickTypePageTemplate
Useful for picking the type of something. A type being a string description and either radio buttons or checkboxes displayed to the left.
ERD2WPrinterFriendlyInspectPageTemplate
Printer friendly inspect page.
ERD2WPrinterFriendlyListTemplate
Printer friendly list page.
ERD2WQueryPageTemplate
Beefed up query page.
ERD2WQueryPageWithFetchSpecification
Query page utilizing fetch specifications.
ERDQuestionPage
Similiar to the message page, except this one has the choice Yes or No.
ERDRecoverableErrorPage
A recoverable error page.
ERD2WTabInspectPageTemplate
A tab inspect/edit template.
ERD2WWizardCreationPageTemplate
A wizard inspect/edit template.

D2W Template Piece Components

ERDDefaultSectionComponent
Displays section name as a string.
ERDDefaultSectionComponentPrinterFriendly
Displays section name as a string for printer friendly version of the pages.
ERDDefaultSectionComponentCSV
Displays section name for CSV pages.
ERDDebuggingHelp
Little help component useful for debugging.
ERDEmptyListMessage
Default component shown when a D2W list is empty.
ERDEmptyPageWrapper
Empty page wrapper component.
ERD2WPropertyName
Used for displaying the propertyName in a template.
ERDPrinterButton
Handles the switching of the current task to print, which uses the print templates.
ERDPrinterFriendlyWrapper
Printer friendly page wrapper.
ERDSectionImage
Used to display sections as images instead of text.
ERDSectionText
Used to display sections as text.
ERDTabImage
Used to display a tab as text instead of images.
ERDTabText
Used to display a tab as text.
ERDTrashcan
A better trashcan. Used the gaurded object interface to determine if the object can be deleted.
ERDFilterDisplayGroupButton
Cool component that can be used in D2W list pages to filter the list, throwing to a D2W query page to restrict.
ERDXMLPageWrapper
page wrapper in xml.

D2W Embedded Components

ERD2WPick
Used to select multiple items from a list.
ERD2WInspect
!!Don't use, use ERDInspect instead!! Embedded component that can be used for nesting page configurations, ie ERD2WInspect can be a customComponentName.
ERXD2WPick
Embedded component that can be used for nesting a pick inside another page configuration.
ERXD2WInspect
Uses a the ERD2WSwitchComponent so that this component won't cache the d2w context. Useful for reusing of pages.
ERXD2WList
Same as D2WList but uses ERD2WSwitchComponent so that its context won't be cached in case the page is reused.
ERXD2WPick
Embedded pick component, like D2WPick but uses ERD2WSwitchComponent.

D2W Property Level Components (subclass D2WComponent)

ERDList
Used to edit a toMany relationship by allowing the user to pick the eos that belong in the relationship.
ERDInspect
Embedded component that can be used for nesting page configurations, ie ERDInspect can be a customComponentName.
ERD2WCustomComponentWithArgs
Allows custom components to resolve valueForBinding requests in the rules.
ERD2WCustomDisplayBoolean
Allows the display of strings instead of Yes/NO or checkboxes for boolean values.
ERD2WCustomEditBoolean
Allows editing boolean values based on radio buttons and strings.
ERDCustomQueryComponentWithArgs
Correctly handles validation exceptions, plus a bunch of other stuff.
ERD2WDisplayDateOrNull
Displays a date or a null string.
ERD2WDisplayHTML
Displays a string with escape html set to false.
ERD2WDisplayImageWithUrl
Displays a url, where the object-key pair refer to a url
ERDDisplayNumberWithUnit
Cool class. Specify a 'unit' in the userInfo dictionary of an EOAttribute and this component will display the number plus the unit.
ERD2WDisplayPassword
Displays '*********' instead.
ERD2WDisplayTextFromHTML
Extracts text from html and displays the text.
ERD2WDisplayToManyCustom
Allows custom components to be used to display the eos from a toMany.
ERD2WDisplayURL
Displays the url in a hyperlink with target set to "_new"
ERD2WDisplayYesNo
Displays a boolean as Yes or No.
ERD2WEditAllowRestrict
Edits a boolean with the string Allow/Restrict. Should use ERD2WCustomEditBoolean instead.
ERD2WEditNumberWithUnit
Edits a number displaying the unit off of the EOAttributes userInfo.
ERD2WEditString
Allows specifing the maxLength for a WOTextField.
ERD2WDisplayStringWithLineBreaks
Displays string with line breaks.
ERDEditStringWithChoices
Provides a toOne relationship-like component except the value is pushed in as a string.
ERD2WEditURL
Used for editing urls.
ERD2WEditYesNo
Edits a boolean with radio buttons and Yes/No
ERDListOrganizer
Crazy cool component that allows one to select strings (using arrow buttons), and organize them.
ERD2WQueryNonNull
Query component for null or non-null.
ERD2WStatelessCustomComponentWithArgs
Stateless version of D2WCustomComponentWithArgs.
ERD2WTwoLevelEditToOneRelationship
Uses JSTwoLevelEditToOneRelationship to edit the relationship.
ERDDefaultCustomComponent
Default custom component used when componentName = "D2WCustomComponentWithArgs" and custom component was not specified.
ERD2WDisplayConstant
For a given key it asks the context for the value. Presumablly the constant is already in the rules.
ERD2WDisplayImage
Displays an image via the src binding.
ERD2WDisplayList
Used to display a an NSArray of the form "A, B and C", useful for toMany relationships or propertyKeys that return arrays.
ERD2WDisplayString
Full blown dislay string with all the bells and whistles.
ERD2WDisplayToOne
Same as original except allows display of noSelectionString if relationship is null.
ERD2WEditOrDefault
Generic edit or default value component, uses other components like editNumber or editString.
ERD2WEditPercentage
Edits a percentage number with radio buttons.
ERD2WEditToManyRelationship
Same as the first except that it uses ERToManyRelationship to work around the webscript bug in the *Matrix components.
ERD2WEditToOneRelationship
Same as the first except that it supports validation propogation and uses ERToOneRelationship.
ERD2WPopUp
Popup used for picking a number.
ERD2WQueryToOneRelationship
Same as original but used ERToOneRelationship.
ERD2WDisplayToManyTable
Cleaned up some of the formatting on the original toMany table.
ERD2WDisplayToManyList
Improved toMany display compononent, uses ERListDisplay.
ERD2WPickFromEntities
Custom query component that let's the user select from a set of shared eos.
ERD2WPickFromList
Custom query component that let's the user select from an arbitrary list.
ERD2WXMLDisplayNumber
xml display component for numbers
ERD2WXMLDisplayString
xml display component for strings
ERD2WXMLDisplayToMany
xml display component for to many relationships

D2W Property Level Custom Components (subclass WOComponent)

ERDEditList
Description forthcoming.
ERD2WDisplayAddress
Displays an address. Needs some cleanup to be more generic.
ERDDHTMLComponent
Rich text edit component.
ERDEditDateJavascript
Crazy cool little date picker that uses javascript to pick the date from a little calendar. Need to remove image refs.
ERDEditDatePopup
Edits dates with popup lists.
ERDEditDatePopupOrNull
Allows the choice to not specify a date.
ERDListOrganizer
Crazy cool component that allows one to select strings (using arrow buttons), and organize them.
ERD2WDisplayNumberWithUnit
Same as ERDDisplayNumberWithUnit only subclass is different. This should be cleaned up.
ERDDisplayYearsMonths
Displays a number as say 5 years 2 months.
ERDEditListButton
Nice component used for editing a toMany relationship by taking the user to another page to pick which objects belong in the relationship.
ERDEditOwnedRelationship
Crazy component. Useful for editing/creating objects in an owned toOne or toMany relationship. Even works with relationships to abstract entities.
ERDEditPasswordConfirm
Used to edit passwords where when changed the changed value must be confirmed.
ERDEditYearsMonths
Used to edit a number as if it where a number of years and a number of months.
ERDDisplayImageIfExists
Displays an image if it exists.
ERDDisplayMailTo
A display mailto component with a number of bindings.
ERDEditButton
Nice edit button for editing a toMany relationship in another page.
ERDLinkToViewList
Generic link component used to view a list.
ERDListPicker
Used to pick a string from a list. Should use ERPickTypePageTemplate with D2W instead.
ERDMassModifyButton
Button used to apply one modification to a bunch of objects.
ERDQueryDateRangeJavascript
Used for building date queries with javascript.