Skip to content
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

refactor(application): Reactify edit application attributes modal #7545

Closed
wants to merge 69 commits into from

Conversation

Jammy-Louie
Copy link

Refactor Edit Application attributes modal from Angular to React. The new modal makes use of Formik.

OLD:

Screen Shot 2019-10-09 at 2 19 08 PM

NEW:

Screen Shot 2019-10-21 at 3 19 15 PM

Provider specific Fields:
Screen Shot 2019-10-15 at 2 34 08 PM

Screen Shot 2019-10-11 at 11 42 12 AM

@Jammy-Louie Jammy-Louie force-pushed the refactor-edit-app-atts branch 2 times, most recently from 28cfe9d to cbfa2b0 Compare October 22, 2019 13:11
Copy link
Contributor

@christopherthielen christopherthielen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Really really good work! Before we can merge this we're going to have to figure out the override story. Netflix (for example) overrides this entire component as an angular template.

We override the following things in app config screen:

      { key: 'applicationConfigView', value: require('../application/applicationConfig.html') },
      { key: 'applicationAttributesDirective', value: require('../application/applicationAttributes.html') },
      { key: 'createApplicationModal', value: require('../application/createApplication.modal.html') },
      { key: 'editApplicationModal', value: require('../application/editApplication.modal.html') },```

plumpy and others added 18 commits November 8, 2019 14:13
* .

* feat(provider/aws): Function listing and searching functionality

This change adds a new tab for functions and facilitates listing existing functions and searching functions listed.
Corresponding provider specific changes are included in this change for AWS.

Authors: @sidmuls and @nabebe

* feat(provider/aws): Function listing and searching functionality

This change adds a new tab for functions and facilitates listing existing functions and searching functions listed.
Corresponding provider specific changes are included in this change for AWS.

Authors: @sidmuls and @nabebe

* refactor(provider/aws): Converting Function class component into function component.

This is a refactoring change as requested by reviewer @caseyhebebrand

Author: @sidmuls

* refactor(provider/aws): Refactoring groupings into a separate component.

This change is for refactoring requested by reviewer @caseyhebebrand.

Author: @sidmuls

* refactor(provider/aws): Removing unnecessary state from FunctionGroupings.

This change is a refactoring requested by @caseyhebebrand

Author: @sidmuls

*  refactor(provider/aws): removing extra line. Tthis is actually for retrying tests on TravisCI

* refactor(provider/aws): Adding tests for FunctionFilterService and changes as requested by @christopherthielen

Author: @sidmuls

* refactor(provider/aws): removing unnecessary field from IFunction

* refactor(provider/aws): adding flag to turn off functions feature
* fix(awsbake): Fix exception if an unlisted baseOs is used

* feat(bake): Support roscoSelector(stage) to determine roscoMode
d71daa5 fix(core/pipeline): fully re-render list of trigger configs after a delete (spinnaker#7571)
629a98f fix(core/pipeline): make revision dropdown usable, layout tweaks (spinnaker#7569)
ca176fc feat(provider/aws): Functions (listing and searching) (spinnaker#7568)
e49ffaf Revert "feat(provider/aws): Functions (listing and searching) (spinnaker#7536)" (spinnaker#7567)
114303a fix(kubernetes): disable project cluster filtration by stack/detail (spinnaker#7562)
86a365b feat(provider/aws): Functions (listing and searching) (spinnaker#7536)
6236a9f fix(core/pipeline): make UX less bad when a pipeline stage never happened (spinnaker#7563)
17232e6 fix(triggers): do not allow manual definition of docker image in trigger (spinnaker#7561)
c2bbf20 feat(rosco): Allow roscoMode per stage/execution (spinnaker#7564)
ca176fc feat(provider/aws): Functions (listing and searching) (spinnaker#7568)
e49ffaf Revert "feat(provider/aws): Functions (listing and searching) (spinnaker#7536)" (spinnaker#7567)
86a365b feat(provider/aws): Functions (listing and searching) (spinnaker#7536)
dae00c8 feat(rosco): Allow optional roscoDetailUrl for roscoMode bakes (spinnaker#7575)
d620e05 fix(rosco): Re-evaluate roscoSelector on stage updates (spinnaker#7577)
dae00c8 feat(rosco): Allow optional roscoDetailUrl for roscoMode bakes (spinnaker#7575)
dae00c8 feat(rosco): Allow optional roscoDetailUrl for roscoMode bakes (spinnaker#7575)
…est (spinnaker#7572)

* feat(git/repo): add git/repo artifact support in kustomize bake manifest

* Update app/scripts/modules/core/src/pipeline/config/stages/bakeManifest/kustomize/BakeKustomizeConfigForm.tsx

Co-Authored-By: Maggie Neterval <mneterval@google.com>

* Update app/scripts/modules/core/src/pipeline/config/stages/bakeManifest/kustomize/BakeKustomizeConfigForm.tsx

Co-Authored-By: Maggie Neterval <mneterval@google.com>

* Update app/scripts/modules/core/src/pipeline/config/triggers/artifacts/gitrepo/GitRepoArtifactEditor.tsx

Co-Authored-By: Maggie Neterval <mneterval@google.com>
fixes artifact output creation by passing in the `updatePipeline` method
* feat(google): add feature flag for gce scale down controls

* feat(google): add gce scale-down controls to autoscaling policy ui

* fix(google): add min and max timeWindowSec, sidebar details
Erik Munson and others added 28 commits November 8, 2019 14:14
5acb0d0 feat(managed): Add status popovers, new props for HoverablePopover
88b8e6c feat(managed): add resource status indicator to security groups
f02b70d feat(managed): add managed resource data to security group groups
14283b2 feat(managed): add resource status indicator to load balancers
aaa349b feat(managed): add managed resource data to load balancer groups
a6d7756 feat(managed): add resource status indicator to clusters
8453260 feat(managed): add managed resource data to cluster groups
167a151 feat(dataSources): add runtime error when defaultData isn't provided (spinnaker#7591)
a10e068 feat(core/presentation): Reduce unnecessary renders in useLatestPromise, add tests
90b249d feat(core/presentation): Reduce unnecessary renders in useDebouncedValue, add tests
7ff7aa1 refactor(core/presentation): extract useIsMountedRef hook
b18b577 chore(package): update to @types/enzyme@3.10.3, enzyme@3.10.0, enzyme-adapter-react-16@1.15.1 (spinnaker#7585)
df7120a chore(help): Update help.contents.ts (spinnaker#7588)
98e8a4b fix(rerun): Hiding re-run as strategies should not be re-run (spinnaker#7583)
8d478a0 fix(helptext): clarify text for stage timeout (spinnaker#7336)
Seems that this was available at one point because the help text already exists.
There's a weird case where a FormikFormField may be used for a complex object with multiple fields and/or arrays.
In this case, the Field's validator should return a structured error object.
This isn't fully accounted for in the FormField API.
For now, pass the complex error object through as 'validationMessage'.
Tag it as "hidden" so we don't try to render it elsewhere as a ReactNode.
…'touched' (spinnaker#7604)

Normally, Formik fields do not show validation errors until the user has tabbed away (blur event).
This is to improve UX when a user first loads a blank form.
It would be horrible to see the entire form rendered in red because all the fields are required.

However, when a form is reloaded *with existing data*, we usually want to show validation errors immediately.

When the form is first rendered, mark all fields in initialValues as "touched".
…re reasonable (spinnaker#7602)

* feat(core/presentation): Made useData hook default value behavior more reasonable
previously, the default value was only used if some of the deps were null or undefined.
Now, the default value is used immediately (even while the first promise is PENDING).
It is used until the first promise turns to RESOLVED.

* Update app/scripts/modules/core/src/presentation/hooks/useData.hook.ts

Co-Authored-By: Erik Munson <erik@ipsumcreative.com>
@maggieneterval
Copy link
Contributor

Closing this for now since @Jammy-Louie is no longer working on Spinnaker and it's been a few months...feel free to re-open if anyone wants to help this across the finish line 😄

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet