Просмотр исходного кода

pass in clicked image registry id

sunguroku 5 лет назад
Родитель
Сommit
f88923ec7e

+ 5 - 6
dashboard/src/components/image-selector/ImageSelector.tsx

@@ -26,7 +26,6 @@ type StateType = {
   error: boolean,
   error: boolean,
   images: ImageType[],
   images: ImageType[],
   clickedImage: ImageType | null,
   clickedImage: ImageType | null,
-  registryId: number | null, // For passing registry ID to tag list
 };
 };
 
 
 export default class ImageSelector extends Component<PropsType, StateType> {
 export default class ImageSelector extends Component<PropsType, StateType> {
@@ -36,7 +35,6 @@ export default class ImageSelector extends Component<PropsType, StateType> {
     error: false,
     error: false,
     images: [] as ImageType[],
     images: [] as ImageType[],
     clickedImage: null as ImageType | null,
     clickedImage: null as ImageType | null,
-    registryId: null as number | null,
   }
   }
 
 
   componentDidMount() {
   componentDidMount() {
@@ -46,6 +44,7 @@ export default class ImageSelector extends Component<PropsType, StateType> {
     api.getProjectRegistries('<token>', {}, { id: currentProject.id }, async (err: any, res: any) => {
     api.getProjectRegistries('<token>', {}, { id: currentProject.id }, async (err: any, res: any) => {
       if (err) {
       if (err) {
         console.log(err);
         console.log(err);
+        this.setState({ error: true });
       } else {
       } else {
         let registries = res.data;
         let registries = res.data;
         if (registries.length === 0) {
         if (registries.length === 0) {
@@ -64,7 +63,8 @@ export default class ImageSelector extends Component<PropsType, StateType> {
                 let newImg = res.data.map((img: any) => {
                 let newImg = res.data.map((img: any) => {
                   return {
                   return {
                     kind: registry.service, 
                     kind: registry.service, 
-                    source: img.name
+                    source: img.name,
+                    registryId: registry.id,
                   }
                   }
                 })
                 })
                 images.push(...newImg)
                 images.push(...newImg)
@@ -75,10 +75,9 @@ export default class ImageSelector extends Component<PropsType, StateType> {
                 let error = errors.reduce((a, b) => {
                 let error = errors.reduce((a, b) => {
                   return a + b;
                   return a + b;
                 }) == registries.length ? true : false; 
                 }) == registries.length ? true : false; 
-                
+
                 this.setState({
                 this.setState({
                   images,
                   images,
-                  registryId: registry.id,
                   loading: false,
                   loading: false,
                   error,
                   error,
                 });
                 });
@@ -167,7 +166,7 @@ export default class ImageSelector extends Component<PropsType, StateType> {
               selectedTag={selectedTag}
               selectedTag={selectedTag}
               selectedImageUrl={selectedImageUrl}
               selectedImageUrl={selectedImageUrl}
               setSelectedTag={setSelectedTag}
               setSelectedTag={setSelectedTag}
-              registryId={this.state.registryId}
+              registryId={this.state.clickedImage.registryId}
             />
             />
           </ExpandedWrapper>
           </ExpandedWrapper>
           {this.renderBackButton()}
           {this.renderBackButton()}

+ 1 - 0
dashboard/src/main/home/cluster-dashboard/expanded-chart/SettingsSection.tsx

@@ -31,6 +31,7 @@ export default class SettingsSection extends Component<PropsType, StateType> {
   }
   }
 
 
   redeployWithNewImage = (img: string, tag: string) => {
   redeployWithNewImage = (img: string, tag: string) => {
+    this.setState({saveValuesStatus: 'loading'})
     let { currentCluster, currentProject } = this.context;
     let { currentCluster, currentProject } = this.context;
     let image = {
     let image = {
       image: {
       image: {

+ 1 - 0
dashboard/src/shared/types.tsx

@@ -136,4 +136,5 @@ export interface ChoiceType {
 export interface ImageType {
 export interface ImageType {
   kind: string,
   kind: string,
   source: string,
   source: string,
+  registryId: number,
 }
 }