adrianheine added a comment.
From my point of view, `WikibaseView` is a component providing widgets for a
specific set of `WikibaseDataModel` concepts. Since the widgets for items and
properties use all other widgets, we provide an `EntityViewFactory` wiring them
together. `Wikibase\View\EntityViewFactory` could look like the following for
all I (aka `WikibaseView`) care about:
EntityViewFactory
__construct()
newItemView( ...allTheServicesAndValues ): ItemView
newPropertyView( ...allTheServicesAndValues ): PropertyView
Also, `WikibaseView` should define an `EntityView` interface:
EntityView
getTitleHtml( Entity ): HtmlString
getHtml( Entity ): HtmlString
getPlaceholders(): mixed[]
With that, `WikibaseView` seems done to me.
`WikibaseRepo` (namely `EntityParserOutputGenerator`) on the other hand needs
something where it can just put in an entity type and a few other things and
get a view. That factory thing should be defined in `WikibaseRepo`,
instantiated in `WikibaseRepo.php` based on config, and passed to
`EntityParserOutputGenerator`.
TASK DETAIL
https://phabricator.wikimedia.org/T127191
EMAIL PREFERENCES
https://phabricator.wikimedia.org/settings/panel/emailpreferences/
To: Bene, adrianheine
Cc: adrianheine, gerritbot, Aklapper, StudiesWorld, Izno, Wikidata-bugs, aude,
Mbch331
_______________________________________________
Wikidata-bugs mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikidata-bugs