data()

in resources/simulator/main.js [60:154]


  data() {
    const numberValidator = (rule, value, callback) => {
      if (value === "") {
        callback(new Error("Required"));
      } else {
        const s = value.toString();
        for (let i = 0; i < s.length; i++) {
          if (s.charAt(i) < "0" || s.charAt(i) > "9") {
            callback(
              new Error("You cannot enter any character other than 0-9.")
            );
          }
        }
        const v = parseFloat(s);
        if (v > 0) {
          callback();
        } else {
          callback(
            new Error("Don't you think this should be a positive integer?")
          );
        }
      }
    };
    const messageParseValidator = async (rule, value, callback) => {
      if (value === "") {
        callback(new Error("Required"));
      } else {
        if (this.messageBodyType === "Plain Text") {
          callback();
        } else if (this.messageBodyType === "Dummy Json") {
          const validated = await this.generateDummyJson();
          if (validated) {
            callback();
          } else {
            callback(new Error("Malformed dummy json syntax."));
          }
        }
      }
    };
    return {
      introduction: introductionTemplate,
      hostName: "",
      inputDeviceList: [],
      filteredInputDeviceList: [],
      formItem: {
        deviceConnectionStrings: [],
        message: "",
        numbers: "10",
        interval: "1"
      },
      intervalUnit: "second",
      messageType: "Text Content",
      messageBodyType: "Plain Text",
      textArea: {
        plainTextArea: "",
        dummyJsonArea: "",
        generatedMessage: ""
      },
      endpoint: document.getElementById("app").getAttribute("data-endpoint"),
      cancelRequested: false,
      ruleValidation: {
        numbers: [
          { required: true, message: 'Required', trigger: "blur" },
          { validator: numberValidator, trigger: "blur" },
          { validator: numberValidator, trigger: "change" }
        ],
        interval: [
          { required: true, message: 'Required', trigger: "blur" },
          { validator: numberValidator, trigger: "blur" },
          { validator: numberValidator, trigger: "change" }
        ],
        message: [
          { required: true, message: 'Required', trigger: "blur" },
          { validator: messageParseValidator, trigger: "blur" }
        ],
        deviceConnectionStrings: [
          {
            required: true,
            type: "array",
            min: 1,
            message: "Choose at least one device",
            trigger: "change"
          }
        ]
      },
      messageInputAreaTab: "Write",
      status: {
        numberOfSentMessage: 0,
        numberOfSuccessfulMessage: 0,
        numberOfFailedMessage: 0,
        numberOfTotalMessage: 0,
        isProcessing: false
      }
    };
  },