constructor()

in django_airavata/apps/api/static/django_airavata_api/js/models/BaseModel.js [15:50]


  constructor(fields, data = {}) {
    fields.forEach((fieldDefinition) => {
      if (typeof fieldDefinition === "string") {
        this[fieldDefinition] = this.convertSimpleField(
          data[fieldDefinition],
          null
        );
      } else {
        // fieldDefinition must be an object
        let fieldName = fieldDefinition.name;
        let fieldType = fieldDefinition.type;
        let fieldIsList =
          typeof fieldDefinition.list !== "undefined"
            ? fieldDefinition.list
            : false;
        let fieldDefault =
          typeof fieldDefinition.default !== "undefined"
            ? this.getDefaultValue(fieldDefinition.default)
            : null;
        let fieldValue = data[fieldName];
        if (fieldIsList) {
          this[fieldName] = fieldValue
            ? fieldValue.map((item) =>
                this.convertField(fieldType, item, fieldDefault)
              )
            : fieldDefault;
        } else {
          this[fieldName] = this.convertField(
            fieldType,
            fieldValue,
            fieldDefault
          );
        }
      }
    });
  }