github.com/erda-project/erda-infra@v1.0.9/providers/component-protocol/components/cardlist/model.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 cardlist
    16  
    17  import (
    18  	"github.com/erda-project/erda-infra/providers/component-protocol/cptype"
    19  )
    20  
    21  type (
    22  	// Data card std data
    23  	Data struct {
    24  		Total        int    `json:"total"`
    25  		Title        string `json:"title"`
    26  		TitleSummary string `json:"titleSummary"`
    27  		Cards        []Card `json:"cards"`
    28  	}
    29  
    30  	// Card .
    31  	Card struct {
    32  		ID             string                                   `json:"id"`
    33  		ImgURL         string                                   `json:"imgURL"`
    34  		Icon           string                                   `json:"icon"`
    35  		Title          string                                   `json:"title"`
    36  		TitleState     []TitleState                             `json:"titleState"`
    37  		Star           bool                                     `json:"star"`
    38  		TextMeta       []TextMeta                               `json:"textMeta"`
    39  		IconOperations []IconOperations                         `json:"iconOperations"`
    40  		Operations     map[cptype.OperationKey]cptype.Operation `json:"operations"`
    41  		cptype.Extra
    42  	}
    43  
    44  	// TitleState .
    45  	TitleState struct {
    46  		Text   string `json:"text"`
    47  		Color  string `json:"color"`
    48  		Status string `json:"status"`
    49  	}
    50  
    51  	// TextMeta .
    52  	TextMeta struct {
    53  		MainText   float64                                  `json:"mainText"`
    54  		SubText    string                                   `json:"subText"`
    55  		Operations map[cptype.OperationKey]cptype.Operation `json:"operations"`
    56  	}
    57  
    58  	// IconOperations .
    59  	IconOperations struct {
    60  		Icon       string                                   `json:"icon"`
    61  		Tip        string                                   `json:"tip"`
    62  		Operations map[cptype.OperationKey]cptype.Operation `json:"operations"`
    63  	}
    64  )