"use strict";

var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = void 0;
var _mobx = require("mobx");
var _SettingField = _interopRequireDefault(require("./SettingField"));
var SettingTopEntry = exports["default"] = function SettingTopEntry(owner) {
  var _this = this;
  this.owner = void 0;
  this.fields = [];
  this.setupFields = function () {
    _this.owner.componentSpec.configure.forEach(function (conf) {
      _this.fields.push(new _SettingField["default"](_this, conf));
    });
  };
  this.getProp = function (propName) {
    return _this.owner.getProp(propName);
  };
  this.getExtraProp = function (propName) {
    return _this.owner.getExtraProp(propName);
  };
  (0, _mobx.makeAutoObservable)(this, {
    owner: false
  });
  this.owner = owner;
  this.setupFields();
};