import 'package:zhiying_comm/zhiying_comm.dart';

class FeedbackModel extends SkipModel{
  String appBarName;
  String appBarNameColor;
  String appBarBgColor;
  String bgColor;
  String feedbackBgColor;
  String feedbackTitle;
  String feedbackTypeNoSelectedBorderColor;
  String feedbackTypeNoSelectedTextColor;
  String feedbackTypeSelectedBorderColor;
  String feedbackTypeSelectedTextColor;
  String feedbackTypeSelectedBorderIcon;
  List<FeedbackTypes> feedbackTypes;
  String feedbackInputBgColor;
  String feedbackInputHintText;
  String feedbackInputHintTextColor;
  String feedbackInputLimitText;
  String feedbackInputLimitTextColor;
  String feedbackInputContentBgColor;
  String feedbackInputContentHintText;
  String feedbackInputContentLimitText;
  String feedbackInputContentHintTextColor;
  String feedbackInputContentLimitTextColor;
  String feedbackUploadImageTitle;
  String feedbackUploadImageSubtitle;
  String feedbackPostBtnText;
  String feedbackPostBtnBgColor;
  String feedbackPostBtnTextColor;
  String feedbackListBtnIcon;
  String feedbackListBtnText;
  String feedbackListBtnTextColor;
  String feedbackListBtnBgColor;
  String feedbackListBtnBorderColor;
  String requiredLogin;
  String requiredTaobaoAuth;
  String skipIdentifier;

  FeedbackModel(
      {this.appBarName,
        this.appBarNameColor,
        this.appBarBgColor,
        this.bgColor,
        this.feedbackBgColor,
        this.feedbackTitle,
        this.feedbackTypeNoSelectedBorderColor,
        this.feedbackTypeNoSelectedTextColor,
        this.feedbackTypeSelectedBorderColor,
        this.feedbackTypeSelectedTextColor,
        this.feedbackTypeSelectedBorderIcon,
        this.feedbackTypes,
        this.feedbackInputBgColor,
        this.feedbackInputHintText,
        this.feedbackInputHintTextColor,
        this.feedbackInputLimitText,
        this.feedbackInputLimitTextColor,
        this.feedbackInputContentBgColor,
        this.feedbackInputContentHintText,
        this.feedbackInputContentLimitText,
        this.feedbackInputContentHintTextColor,
        this.feedbackInputContentLimitTextColor,
        this.feedbackUploadImageTitle,
        this.feedbackUploadImageSubtitle,
        this.feedbackPostBtnText,
        this.feedbackPostBtnBgColor,
        this.feedbackPostBtnTextColor,
        this.feedbackListBtnIcon,
        this.feedbackListBtnText,
        this.feedbackListBtnTextColor,
        this.feedbackListBtnBgColor,
        this.feedbackListBtnBorderColor,
        this.requiredLogin,
        this.requiredTaobaoAuth,
        this.skipIdentifier});

  FeedbackModel.fromJson(Map<String, dynamic> json) {
    super.fromJson(json);
    appBarName = json['app_bar_name'];
    appBarNameColor = json['app_bar_name_color'];
    appBarBgColor = json['app_bar_bg_color'];
    bgColor = json['bg_color'];
    feedbackBgColor = json['feedback_bg_color'];
    feedbackTitle = json['feedback_title'];
    feedbackTypeNoSelectedBorderColor =
    json['feedback_type_no_selected_border_color'];
    feedbackTypeNoSelectedTextColor =
    json['feedback_type_no_selected_text_color'];
    feedbackTypeSelectedBorderColor =
    json['feedback_type_selected_border_color'];
    feedbackTypeSelectedTextColor = json['feedback_type_selected_text_color'];
    feedbackTypeSelectedBorderIcon = json['feedback_type_selected_border_icon'];
    if (json['feedback_types'] != null) {
      feedbackTypes = new List<FeedbackTypes>();
      json['feedback_types'].forEach((v) {
        feedbackTypes.add(new FeedbackTypes.fromJson(v));
      });
    }
    feedbackInputBgColor = json['feedback_input_bg_color'];
    feedbackInputHintText = json['feedback_input_hint_text'];
    feedbackInputHintTextColor = json['feedback_input_hint_text_color'];
    feedbackInputLimitText = json['feedback_input_limit_text'];
    feedbackInputLimitTextColor = json['feedback_input_limit_text_color'];
    feedbackInputContentBgColor = json['feedback_input_content_bg_color'];
    feedbackInputContentHintText = json['feedback_input_content_hint_text'];
    feedbackInputContentLimitText = json['feedback_input_content_limit_text'];
    feedbackInputContentHintTextColor =
    json['feedback_input_content_hint_text_color'];
    feedbackInputContentLimitTextColor =
    json['feedback_input_content_limit_text_color'];
    feedbackUploadImageTitle = json['feedback_upload_image_title'];
    feedbackUploadImageSubtitle = json['feedback_upload_image_subtitle'];
    feedbackPostBtnText = json['feedback_post_btn_text'];
    feedbackPostBtnBgColor = json['feedback_post_btn_bg_color'];
    feedbackPostBtnTextColor = json['feedback_post_btn_text_color'];
    feedbackListBtnIcon = json['feedback_list_btn_icon'];
    feedbackListBtnText = json['feedback_list_btn_text'];
    feedbackListBtnTextColor = json['feedback_list_btn_text_color'];
    feedbackListBtnBgColor = json['feedback_list_btn_bg_color'];
    feedbackListBtnBorderColor = json['feedback_list_btn_border_color'];
    requiredLogin = json['required_login'];
    requiredTaobaoAuth = json['required_taobao_auth'];
    skipIdentifier = json['skip_identifier'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = super.toJson();
    data['app_bar_name'] = this.appBarName;
    data['app_bar_name_color'] = this.appBarNameColor;
    data['app_bar_bg_color'] = this.appBarBgColor;
    data['bg_color'] = this.bgColor;
    data['feedback_bg_color'] = this.feedbackBgColor;
    data['feedback_title'] = this.feedbackTitle;
    data['feedback_type_no_selected_border_color'] =
        this.feedbackTypeNoSelectedBorderColor;
    data['feedback_type_no_selected_text_color'] =
        this.feedbackTypeNoSelectedTextColor;
    data['feedback_type_selected_border_color'] =
        this.feedbackTypeSelectedBorderColor;
    data['feedback_type_selected_text_color'] =
        this.feedbackTypeSelectedTextColor;
    data['feedback_type_selected_border_icon'] =
        this.feedbackTypeSelectedBorderIcon;
    if (this.feedbackTypes != null) {
      data['feedback_types'] =
          this.feedbackTypes.map((v) => v.toJson()).toList();
    }
    data['feedback_input_bg_color'] = this.feedbackInputBgColor;
    data['feedback_input_hint_text'] = this.feedbackInputHintText;
    data['feedback_input_hint_text_color'] = this.feedbackInputHintTextColor;
    data['feedback_input_limit_text'] = this.feedbackInputLimitText;
    data['feedback_input_limit_text_color'] = this.feedbackInputLimitTextColor;
    data['feedback_input_content_bg_color'] = this.feedbackInputContentBgColor;
    data['feedback_input_content_hint_text'] =
        this.feedbackInputContentHintText;
    data['feedback_input_content_limit_text'] =
        this.feedbackInputContentLimitText;
    data['feedback_input_content_hint_text_color'] =
        this.feedbackInputContentHintTextColor;
    data['feedback_input_content_limit_text_color'] =
        this.feedbackInputContentLimitTextColor;
    data['feedback_upload_image_title'] = this.feedbackUploadImageTitle;
    data['feedback_upload_image_subtitle'] = this.feedbackUploadImageSubtitle;
    data['feedback_post_btn_text'] = this.feedbackPostBtnText;
    data['feedback_post_btn_bg_color'] = this.feedbackPostBtnBgColor;
    data['feedback_post_btn_text_color'] = this.feedbackPostBtnTextColor;
    data['feedback_list_btn_icon'] = this.feedbackListBtnIcon;
    data['feedback_list_btn_text'] = this.feedbackListBtnText;
    data['feedback_list_btn_text_color'] = this.feedbackListBtnTextColor;
    data['feedback_list_btn_bg_color'] = this.feedbackListBtnBgColor;
    data['feedback_list_btn_border_color'] = this.feedbackListBtnBorderColor;
    data['required_login'] = this.requiredLogin;
    data['required_taobao_auth'] = this.requiredTaobaoAuth;
    data['skip_identifier'] = this.skipIdentifier;
    return data;
  }
}

class FeedbackTypes {
  String typeId;
  String name;
  bool isSelect = false;

  FeedbackTypes({this.typeId, this.name});

  FeedbackTypes.fromJson(Map<String, dynamic> json) {
    typeId = json['type_id'];
    name = json['name'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['type_id'] = this.typeId;
    data['name'] = this.name;
    return data;
  }
}