github.com/erda-project/erda-infra@v1.0.9/providers/component-protocol/cptype/operation.go (about)

     1  // Copyright (c) 2021 Terminus, Inc.
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //      http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  
    15  package cptype
    16  
    17  // OperationFunc return std structured response.
    18  type OperationFunc func(sdk *SDK) IStdStructuredPtr
    19  
    20  // IOperation .
    21  type IOperation interface {
    22  	OpKey() OperationKey
    23  }
    24  
    25  // Operation .
    26  type Operation struct {
    27  	Text       string `json:"text,omitempty"`
    28  	Tip        string `json:"tip,omitempty"`
    29  	Confirm    string `json:"confirm,omitempty"`
    30  	Disabled   bool   `json:"disabled,omitempty"`
    31  	SkipRender bool   `json:"skipRender,omitempty"` // skipRender means this op is just a frontend op, won't invoke backend to render.
    32  	Async      bool   `json:"async,omitempty"`
    33  
    34  	// ServerData generated at server-side.
    35  	ServerData *OpServerData `json:"serverData,omitempty"`
    36  	// ClientData generated at client-side.
    37  	ClientData *OpClientData `json:"clientData,omitempty"`
    38  }
    39  
    40  // OpClientData .
    41  type OpClientData struct {
    42  	DataRef ExtraMap `json:"dataRef,omitempty"`
    43  	ExtraMap
    44  }
    45  
    46  // OpServerData .
    47  type OpServerData ExtraMap