-
Notifications
You must be signed in to change notification settings - Fork 53
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Document file sideloading #789
Open
SergeiGolos
wants to merge
15
commits into
storyteller:master
Choose a base branch
from
SergeiGolos:document-file-sideloading
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Document file sideloading #789
SergeiGolos
wants to merge
15
commits into
storyteller:master
from
SergeiGolos:document-file-sideloading
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
StyleTagBuilder and ScriptTagBuilder are now instances of the Html tag they represent. In the IDocumentBuilder interfaces they now simply attach themselves.
Updated the class to have the Assembly passed into it. Also created some default overides to make it easier to use the class.
- Refactored the BatchResultWriter to reduce the logic in a static class and moved the logic into a HtmlDocumentBuilder class. - HtmlDocumentBuilder can be swapped in BatchResultWriter - DefaultHtmlDocumentBuilder defines the current script and css tags. - Script tag support user URI for src attribtues instead of content. - Script and Style Tags support string as their content. - Link tag added - Everything on the HtmlDocument is created with IDocumentBuilders even the title. - Added some comments to the code.
…ith HtmlDocumentBuilder
Test |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The idea here is to create a mechanism for side-loading additional CSS and Script tags into the generated report document.
Broke up the BatchResultWriter into a couple of classes allowing the document creation process to be more compose-able. The update logic breaks up the resolution of resources and the updating of the document into two separate interfaces. IDocumentBuilder which modifies the HtmlDocument that is passed into it via the Apply method and the IDocumentPartLoader which resolves resources and exposes the text via the .Read() method.
Only 3 IDocumentBuilder are default, the ScriptTagBuilder, StyleTagBuilder and ReportPartBuilder which should only be run once per report. They are pretty self explanatory and represent the binding logic originally found in the writeJavascript and WriteCSS methods.
The resolution of content for the IDocumentBuilders is left to the IDocumentPartLoader implementations.