setPkRows()

in ui/src/app/components/object-detail/object-detail.component.ts [759:865]


  setPkRows() {
    this.pkArray = this.fb.array([])
    this.pkOrderValidation()
    var srcArr = new Array()
    var spArr = new Array()
    this.pkData.forEach((row) => {
      if (row.srcIsPk) {
        srcArr.push({
          srcColName: row.srcColName,
          srcDataType: row.srcDataType,
          srcIsNotNull: row.srcIsNotNull,
          srcIsPk: row.srcIsPk,
          srcOrder: row.srcOrder,
          srcId: row.srcId,
          srcAutoGen: row.srcAutoGen
        })
      }
      if (row.spIsPk) {
        spArr.push({
          spColName: row.spColName,
          spDataType: row.spDataType,
          spIsNotNull: row.spIsNotNull,
          spIsPk: row.spIsPk,
          spOrder: row.spOrder,
          spId: row.spId,
          spAutoGen: row.spAutoGen,
          spDefaultValue: row.spDefaultValue
        })
      }
    })

    spArr.sort((a, b) => {
      return a.spOrder - b.spOrder
    })

    for (let i = 0; i < Math.min(srcArr.length, spArr.length); i++) {
      this.pkArray.push(
        new FormGroup({
          srcOrder: new FormControl(srcArr[i].srcOrder),
          srcColName: new FormControl(srcArr[i].srcColName),
          srcDataType: new FormControl(srcArr[i].srcDataType),
          srcIsPk: new FormControl(srcArr[i].srcIsPk),
          srcIsNotNull: new FormControl(srcArr[i].srcIsNotNull),
          srcAutoGen: new FormControl(srcArr[i].srcAutoGen),
          spOrder: new FormControl(spArr[i].spOrder, [
            Validators.required,
            Validators.pattern('^[1-9][0-9]*$'),
          ]),
          spColName: new FormControl(spArr[i].spColName),
          spDataType: new FormControl(spArr[i].spDataType),
          spIsPk: new FormControl(spArr[i].spIsPk),
          spIsNotNull: new FormControl(spArr[i].spIsNotNull),
          spId: new FormControl(spArr[i].spId),
          spAutoGen: new FormControl(spArr[i].spAutoGen),
          spDefaultValue: new FormControl(spArr[i].spDefaultValue),
        })
      )
    }
    if (srcArr.length > Math.min(srcArr.length, spArr.length))
      for (let i = Math.min(srcArr.length, spArr.length); i < srcArr.length; i++) {
        this.pkArray.push(
          new FormGroup({
            srcOrder: new FormControl(srcArr[i].srcOrder),
            srcColName: new FormControl(srcArr[i].srcColName),
            srcDataType: new FormControl(srcArr[i].srcDataType),
            srcIsPk: new FormControl(srcArr[i].srcIsPk),
            srcIsNotNull: new FormControl(srcArr[i].srcIsNotNull),
            srcAutoGen: new FormControl(srcArr[i].srcAutoGen),
            srcId: new FormControl(srcArr[i].srcId),
            spOrder: new FormControl(''),
            spColName: new FormControl(''),
            spDataType: new FormControl(''),
            spIsPk: new FormControl(false),
            spIsNotNull: new FormControl(false),
            spId: new FormControl(''),
            spAutoGen: new FormControl(spArr[i].spAutoGen),
            spDefaultValue: new FormControl(spArr[i].spDefaultValue),
          })
        )
      }
    else if (spArr.length > Math.min(srcArr.length, spArr.length))
      for (let i = Math.min(srcArr.length, spArr.length); i < spArr.length; i++) {
        this.pkArray.push(
          new FormGroup({
            srcOrder: new FormControl(''),
            srcColName: new FormControl(''),
            srcDataType: new FormControl(''),
            srcIsPk: new FormControl(false),
            srcIsNotNull: new FormControl(false),
            srcAutoGen: new FormControl({
              Name: "",
              GenerationType: ""
            }),
            srcId: new FormControl(''),
            spOrder: new FormControl(spArr[i].spOrder),
            spColName: new FormControl(spArr[i].spColName),
            spDataType: new FormControl(spArr[i].spDataType),
            spIsPk: new FormControl(spArr[i].spIsPk),
            spIsNotNull: new FormControl(spArr[i].spIsNotNull),
            spId: new FormControl(spArr[i].spId),
            spAutoGen: new FormControl(spArr[i].spAutoGen),
            spDefaultValue: new FormControl(spArr[i].spDefaultValue),
          })
        )
      }
    this.pkDataSource = this.pkArray.controls
  }