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

Revert "Add 2 more fields to Openstack API v3 simple form"

Dorin Paslaru 8 лет назад
Родитель
Сommit
41b12409f1

+ 7 - 7
src/plugins/endpoint/openstack/ContentPlugin.jsx

@@ -21,7 +21,7 @@ import ToggleButtonBar from '../../../components/atoms/ToggleButtonBar'
 import type { Field } from '../../../types/Field'
 import { Wrapper, Fields, FieldStyled, Row } from '../default/ContentPlugin'
 
-const ToggleButtonBarStyled = styled(ToggleButtonBar) `
+const ToggleButtonBarStyled = styled(ToggleButtonBar)`
   margin-top: 16px;
 `
 
@@ -88,18 +88,18 @@ class ContentPlugin extends React.Component<Props, State> {
 
   filterSimpleAdvanced(): Field[] {
     const apiVersion = this.props.getFieldValue(this.props.connectionInfoSchema.find(n => n.name === 'identity_api_version'))
-    const extraAdvancedFields = ['description']
+    const extraAdvancedFields = ['description', 'glance_api_version', 'identity_api_version']
     return this.props.connectionInfoSchema.filter(field => {
       if (this.state.useAdvancedOptions) {
         return true
       }
-      let isBasic
-      if (typeof field.isBasic === 'function') {
-        isBasic = field.isBasic(apiVersion)
+      let required
+      if (typeof field.required === 'function') {
+        required = field.required(apiVersion)
       } else {
-        isBasic = field.isBasic
+        required = field.required
       }
-      return field.required || isBasic || extraAdvancedFields.find(fieldName => field.name === fieldName)
+      return required || extraAdvancedFields.find(fieldName => field.name === fieldName)
     })
   }
 

+ 5 - 22
src/plugins/endpoint/openstack/SchemaPlugin.js

@@ -30,9 +30,7 @@ const customSort = (fields: Field[]) => {
     glance_api_version: 7,
     identity_api_version: 8,
     project_domain_name: 9,
-    project_domain_id: 10,
-    user_domain_name: 11,
-    user_domain_id: 12,
+    user_domain_name: 10,
   }
   fields.sort((a, b) => {
     if (sortPriority[a.name] && sortPriority[b.name]) {
@@ -60,26 +58,11 @@ export default class ConnectionSchemaParser {
     customSort(fields)
 
     let projectDomainField = fields.find(f => f.name === 'project_domain_name')
-    let projectDomainIdField = fields.find(f => f.name === 'project_domain_id')
     let userDomainField = fields.find(f => f.name === 'user_domain_name')
-    let userDomainIdField = fields.find(f => f.name === 'user_domain_id')
-    let glanceApiVersionField = fields.find(f => f.name === 'glance_api_version')
-    let identityApiVersionField = fields.find(f => f.name === 'identity_api_version')
-    let isBasicFunc = (apiVersion: number) => apiVersion > 2
-    if (
-      projectDomainField &&
-      userDomainField &&
-      glanceApiVersionField &&
-      identityApiVersionField &&
-      userDomainIdField &&
-      projectDomainIdField
-    ) {
-      projectDomainField.isBasic = isBasicFunc
-      projectDomainIdField.isBasic = isBasicFunc
-      userDomainField.isBasic = isBasicFunc
-      userDomainIdField.isBasic = isBasicFunc
-      glanceApiVersionField.isBasic = true
-      glanceApiVersionField.isBasic = true
+    let requiredFunc = (apiVersion: number) => apiVersion > 2
+    if (projectDomainField && userDomainField) {
+      projectDomainField.required = requiredFunc
+      userDomainField.required = requiredFunc
     }
 
     return fields

+ 1 - 2
src/types/Field.js

@@ -19,7 +19,7 @@ export type Field = {
   type?: string,
   value?: any,
   enum?: string[],
-  required?: boolean,
+  required?: boolean | (value: any) => boolean,
   default?: any,
   items?: Field[],
   fields?: Field[],
@@ -27,5 +27,4 @@ export type Field = {
   maximum?: number,
   parent?: string,
   properties?: Field[],
-  isBasic?: boolean | (value: any) => boolean, // show this field in simple view even if is not 'required'
 }