-
Notifications
You must be signed in to change notification settings - Fork 15
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
React js integration proof of concept #30
Comments
…licate identifier" errors during ts build.
All of the acceptance criteria is done:
What i still want to check is how the two applications can talk to each other. Example implementation can be found here: This would enable us to replace one component after another which would be great. Open issues: |
Although it was pretty easy to integrate react within the same webpage as the existing angularjs app, it is pretty hard to integrate the two things. Especially if it gets to communication with each other and haven an react component within an angular app. As far as i have seen for now, I think this would make everything more complicated instead of easy - which was the initial though for this. So, i would suggest the following: Current version 0.6.0:
Next version 0.6.1:
From my point of view, although it is a big bang then, it gets us focussed not on the framework but on the features. What do you think? |
Sounds like a solid strategy. Do we want to refactor the business logic as well for version 0.6? I would love to separate the "drawing configuration" a little bit more from the "infobar and user interaction". But the old behavior still has to work with a separate abstraction layer, so it might be a lot more work... Also (for the build chain) i would totally recommend the typescript build to fail, if the linter or tests don't succeed. At the Moment the Java-Build still exits with This is my tslint configuration with a strict build chain for CCV {
"extends": "tslint:latest",
"rules": {
"max-line-length": [true, 125],
"ordered-imports": false,
"object-literal-sort-keys": false,
"interface-name": [true, "never-prefix"],
"variable-name": ["check-format", "allow-leading-underscore"],
"trailing-comma": [true, "never"],
"no-bitwise": false,
"quotemark": [true, "double"],
"eofline": false,
"no-constructor-vars": true
}
}``` |
As we have to rewrite the whole UI code within 0.6 - i think that this could be any easy point to change a lot in the UI logic as well. So I would do #34 within the refactoring from agnularjs to react. Otherwise we would rewrite the code twice. About the java build. The build fails if the Typescript code does not compile as well on test failures. For the javascript code, this was true. I added the --bail options to the webpack build. This causes also javascript errors to fail the build. As we want to completely switch to typescript, i would ignore the javascript errors but create a solid build chain for the typescript code. I copied your tslint.conf and added tslint to the build to fail on errors and on warnings. |
I'd recommend using TypeScript 2.0 (beta) asap. The changes are quite significant and a later migration would be even more painful, once the alle the modules are already written in TS 1.8. For updating change the version for typescript in Also for one of the best changes in TS2.0 the option strictNullChecks needs to be enabled in the |
All classes but the following are now written in typescript:
I would propose to close this issue and do the rest of the work in the next milestone "Frontend code refactoring 2". |
As stated in #20 we want to refactor the frontend code to be able to extend the plugin functionality fast and reliable. The POC will be implemented in branch softvis3d_react_example and then hopefully merged into master.
Acceptance criteria:
The text was updated successfully, but these errors were encountered: