github.com/erda-project/erda-infra@v1.0.9/providers/component-protocol/components/commodel/moreoperations.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 commodel
    16  
    17  import (
    18  	"github.com/erda-project/erda-infra/providers/component-protocol/cptype"
    19  )
    20  
    21  // MoreOperations .
    22  type MoreOperations struct {
    23  	Ops []MoreOpItem `json:"ops,omitempty"` // use list for order
    24  }
    25  
    26  // MoreOpItem more operation item info
    27  type MoreOpItem struct {
    28  	ID   string `json:"id,omitempty"`
    29  	Text string `json:"text,omitempty"`
    30  	Icon *Icon  `json:"icon,omitempty"`
    31  
    32  	Operations map[cptype.OperationKey]cptype.Operation `json:"operations"`
    33  }
    34  
    35  // ModelType .
    36  func (m MoreOperations) ModelType() string { return "moreOperations" }
    37  
    38  type (
    39  	// OpMoreOperationsItemClick .
    40  	OpMoreOperationsItemClick struct {
    41  		OpClick
    42  		ServerData OpMoreOperationsItemClickServerData `json:"serverData,omitempty"`
    43  		ClientData OpMoreOperationsItemClickClientData `json:"clientData,omitempty"`
    44  	}
    45  	// OpMoreOperationsItemClickServerData .
    46  	OpMoreOperationsItemClickServerData struct {
    47  	}
    48  	// OpMoreOperationsItemClickClientData .
    49  	OpMoreOperationsItemClickClientData struct {
    50  		DataRef       *MoreOpItem `json:"dataRef,omitempty"`
    51  		ParentDataRef interface{} `json:"parentDataRef,omitempty"` // optional, such like list row data, table row data
    52  	}
    53  )
    54  
    55  type (
    56  	// OpMoreOperationsItemClickGoto .
    57  	OpMoreOperationsItemClickGoto struct {
    58  		OpClickGoto
    59  	}
    60  	// OpMoreOperationsItemClickGotoServerData .
    61  	OpMoreOperationsItemClickGotoServerData struct {
    62  		OpClickGotoServerData
    63  	}
    64  	// OpMoreOperationsItemClickGotoClientData .
    65  	OpMoreOperationsItemClickGotoClientData struct {
    66  		OpMoreOperationsItemClickClientData
    67  	}
    68  )