Hello guys,
I am developing a Kibana application and I need to insert data into Elasticsearch using a Form.
For example, I would like to add an user.
index.html:
<div class="container">
  <div class="row">
    <div class="col-12-sm" ng-controller="userController as controller">
      <h1>Sign In</h1><hr/>
      <form>
        <div class="form-group">
          <div class="form-group col-md-6">
            <label for="inputEmail4">Email</label>
            <input type="email" ng-model="email" class="form-control" id="inputEmail4" placeholder="Email" required>
          </div>
          <div class="form-group col-md-6">
            <label for="inputPassword4">Password</label>
            <input type="password" ng-model="password" class="form-control" id="inputPassword4" placeholder="Password" required>
          </div>
        </div>
        <div class="form-group">
          <div class="form-group col-md-6">
            <label for="inputAddress">Address 1</label>
            <input type="text" ng-model="address1" class="form-control" id="inputAddress" placeholder="1234 Main St" required>
          </div>
          <div class="form-group col-md-6">
            <label for="inputAddress2">Address 2</label>
            <input type="text" ng-model="address2" class="form-control" id="inputAddress2" placeholder="Apartment, studio, or floor" required>
          </div>
        </div>
        <div class="form-group">
          <div class="form-group col-md-6">
            <label for="inputCity">City</label>
            <input type="text" ng-model="city" class="form-control" id="inputCity" required>
          </div>
          <div class="form-group col-md-4">
            <label for="inputState">State</label>
            <select ng-model="state" id="inputState" class="form-control" required>
              <option selected>Choose...</option>
              <option> State 1 </option>
              <option> State 2 </option>
              <option> State 3 </option>
              <option> State 4 </option>
            </select>
          </div>
          <div class="form-group col-md-2">
            <label for="inputZip">Zip</label>
            <input type="text" ng-model="zip" class="form-control" id="inputZip" required>
          </div>
        </div>
        <button ng-click="controller.validate()" class="btn btn-primary"> Validate </button>
      </form>
    </div>
  </div>
</div>
And in my controller I prepare my object to insert it userController.js:
export function userController($http, $scope, $timeout, chrome, Notifier) {
// Call validate function
this.validate = () => {
let param = {
"email": $scope.email,
"password": $scope.password,
"address": $scope.address1 + $scope.address2 + $scope.city + $scope.state + $scope.zip
};
alert("Email:" +$scope.email+" \nPassword: "+$scope.password+" \nAddress: "+ $scope.address1 + $scope.address2 + $scope.city + $scope.state + $scope.zip);
// call kibana server API
};
}
How can I insert my object (param) into specific index in Elasticsearch ?
Best regards.