Angular 5 it overwrites always the selected date with the current date












0














I have an input field which has a date into it but the problem is that when I wan't to select a date which is not the today date everytime takes the current date and saved in the backend.
I want if in the input field is selected for example 15.11.2018 that will be saved.
At the save method in the console log it tells me the right thing I only think the problem it is in the reducers



This is my code



<app-input-field label="{{'general.#date'|translate}}">
<input type="date" step="1" [ngModel]="newCosts.choosenDate| date:'yyyy-MM-dd'" (ngModelChange)="newCosts.choosenDate = $event">
</app-input-field>

save() {
this.newCosts.choosenDate = new Date(this.newCosts.choosenDate)
this.store.dispatch(new UpsertCostsAction({
costs: { ...this.newCosts }

}))
this.newCosts = emptyCosts()
}

export interface Costs {
id: string
choosenDate: Date
}
export function emptyCosts(): Costs {
return {
id: "",
choosenDate: new Date(),

}
}


Reducers



function toCostsViewModel(costs: Costs): Costs {
costs.choosenDate = new Date(costs.choosenDate)

return costs
}

function upsertCosts(state: ValueItemDatabaseState, action: UpsertCostsInternalAction): ValueItemDatabaseState {
action.payload.forEach(cost => {
state.costs = state.costs.set(cost.id, toCostsViewModel(cost))
})
return {
...state
}
}









share|improve this question





























    0














    I have an input field which has a date into it but the problem is that when I wan't to select a date which is not the today date everytime takes the current date and saved in the backend.
    I want if in the input field is selected for example 15.11.2018 that will be saved.
    At the save method in the console log it tells me the right thing I only think the problem it is in the reducers



    This is my code



    <app-input-field label="{{'general.#date'|translate}}">
    <input type="date" step="1" [ngModel]="newCosts.choosenDate| date:'yyyy-MM-dd'" (ngModelChange)="newCosts.choosenDate = $event">
    </app-input-field>

    save() {
    this.newCosts.choosenDate = new Date(this.newCosts.choosenDate)
    this.store.dispatch(new UpsertCostsAction({
    costs: { ...this.newCosts }

    }))
    this.newCosts = emptyCosts()
    }

    export interface Costs {
    id: string
    choosenDate: Date
    }
    export function emptyCosts(): Costs {
    return {
    id: "",
    choosenDate: new Date(),

    }
    }


    Reducers



    function toCostsViewModel(costs: Costs): Costs {
    costs.choosenDate = new Date(costs.choosenDate)

    return costs
    }

    function upsertCosts(state: ValueItemDatabaseState, action: UpsertCostsInternalAction): ValueItemDatabaseState {
    action.payload.forEach(cost => {
    state.costs = state.costs.set(cost.id, toCostsViewModel(cost))
    })
    return {
    ...state
    }
    }









    share|improve this question



























      0












      0








      0







      I have an input field which has a date into it but the problem is that when I wan't to select a date which is not the today date everytime takes the current date and saved in the backend.
      I want if in the input field is selected for example 15.11.2018 that will be saved.
      At the save method in the console log it tells me the right thing I only think the problem it is in the reducers



      This is my code



      <app-input-field label="{{'general.#date'|translate}}">
      <input type="date" step="1" [ngModel]="newCosts.choosenDate| date:'yyyy-MM-dd'" (ngModelChange)="newCosts.choosenDate = $event">
      </app-input-field>

      save() {
      this.newCosts.choosenDate = new Date(this.newCosts.choosenDate)
      this.store.dispatch(new UpsertCostsAction({
      costs: { ...this.newCosts }

      }))
      this.newCosts = emptyCosts()
      }

      export interface Costs {
      id: string
      choosenDate: Date
      }
      export function emptyCosts(): Costs {
      return {
      id: "",
      choosenDate: new Date(),

      }
      }


      Reducers



      function toCostsViewModel(costs: Costs): Costs {
      costs.choosenDate = new Date(costs.choosenDate)

      return costs
      }

      function upsertCosts(state: ValueItemDatabaseState, action: UpsertCostsInternalAction): ValueItemDatabaseState {
      action.payload.forEach(cost => {
      state.costs = state.costs.set(cost.id, toCostsViewModel(cost))
      })
      return {
      ...state
      }
      }









      share|improve this question















      I have an input field which has a date into it but the problem is that when I wan't to select a date which is not the today date everytime takes the current date and saved in the backend.
      I want if in the input field is selected for example 15.11.2018 that will be saved.
      At the save method in the console log it tells me the right thing I only think the problem it is in the reducers



      This is my code



      <app-input-field label="{{'general.#date'|translate}}">
      <input type="date" step="1" [ngModel]="newCosts.choosenDate| date:'yyyy-MM-dd'" (ngModelChange)="newCosts.choosenDate = $event">
      </app-input-field>

      save() {
      this.newCosts.choosenDate = new Date(this.newCosts.choosenDate)
      this.store.dispatch(new UpsertCostsAction({
      costs: { ...this.newCosts }

      }))
      this.newCosts = emptyCosts()
      }

      export interface Costs {
      id: string
      choosenDate: Date
      }
      export function emptyCosts(): Costs {
      return {
      id: "",
      choosenDate: new Date(),

      }
      }


      Reducers



      function toCostsViewModel(costs: Costs): Costs {
      costs.choosenDate = new Date(costs.choosenDate)

      return costs
      }

      function upsertCosts(state: ValueItemDatabaseState, action: UpsertCostsInternalAction): ValueItemDatabaseState {
      action.payload.forEach(cost => {
      state.costs = state.costs.set(cost.id, toCostsViewModel(cost))
      })
      return {
      ...state
      }
      }






      html angular typescript reducers






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 12 '18 at 10:52

























      asked Nov 12 '18 at 9:27









      Spritzig

      161214




      161214
























          1 Answer
          1






          active

          oldest

          votes


















          0














          In your save method



          save() {
          this.newCosts.choosenDate = new Date(this.newCosts.choosenDate)
          this.store.dispatch(new UpsertCostsAction({
          costs: { ...this.newCosts }

          }))
          this.newCosts = emptyCosts()
          }


          at the and you run this.newCosts = emptyCosts() and emptycosts does overwrite your choosenDate: new Date() basically creating a new now date.



          Are you able to confirm?






          share|improve this answer





















          • I have already found a solution for this, in the backend it was overwritting a new Date
            – Spritzig
            Nov 12 '18 at 12:37











          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53259196%2fangular-5-it-overwrites-always-the-selected-date-with-the-current-date%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          0














          In your save method



          save() {
          this.newCosts.choosenDate = new Date(this.newCosts.choosenDate)
          this.store.dispatch(new UpsertCostsAction({
          costs: { ...this.newCosts }

          }))
          this.newCosts = emptyCosts()
          }


          at the and you run this.newCosts = emptyCosts() and emptycosts does overwrite your choosenDate: new Date() basically creating a new now date.



          Are you able to confirm?






          share|improve this answer





















          • I have already found a solution for this, in the backend it was overwritting a new Date
            – Spritzig
            Nov 12 '18 at 12:37
















          0














          In your save method



          save() {
          this.newCosts.choosenDate = new Date(this.newCosts.choosenDate)
          this.store.dispatch(new UpsertCostsAction({
          costs: { ...this.newCosts }

          }))
          this.newCosts = emptyCosts()
          }


          at the and you run this.newCosts = emptyCosts() and emptycosts does overwrite your choosenDate: new Date() basically creating a new now date.



          Are you able to confirm?






          share|improve this answer





















          • I have already found a solution for this, in the backend it was overwritting a new Date
            – Spritzig
            Nov 12 '18 at 12:37














          0












          0








          0






          In your save method



          save() {
          this.newCosts.choosenDate = new Date(this.newCosts.choosenDate)
          this.store.dispatch(new UpsertCostsAction({
          costs: { ...this.newCosts }

          }))
          this.newCosts = emptyCosts()
          }


          at the and you run this.newCosts = emptyCosts() and emptycosts does overwrite your choosenDate: new Date() basically creating a new now date.



          Are you able to confirm?






          share|improve this answer












          In your save method



          save() {
          this.newCosts.choosenDate = new Date(this.newCosts.choosenDate)
          this.store.dispatch(new UpsertCostsAction({
          costs: { ...this.newCosts }

          }))
          this.newCosts = emptyCosts()
          }


          at the and you run this.newCosts = emptyCosts() and emptycosts does overwrite your choosenDate: new Date() basically creating a new now date.



          Are you able to confirm?







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Nov 12 '18 at 11:53









          Mac_W

          805415




          805415












          • I have already found a solution for this, in the backend it was overwritting a new Date
            – Spritzig
            Nov 12 '18 at 12:37


















          • I have already found a solution for this, in the backend it was overwritting a new Date
            – Spritzig
            Nov 12 '18 at 12:37
















          I have already found a solution for this, in the backend it was overwritting a new Date
          – Spritzig
          Nov 12 '18 at 12:37




          I have already found a solution for this, in the backend it was overwritting a new Date
          – Spritzig
          Nov 12 '18 at 12:37


















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.





          Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


          Please pay close attention to the following guidance:


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53259196%2fangular-5-it-overwrites-always-the-selected-date-with-the-current-date%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          這個網誌中的熱門文章

          Academy of Television Arts & Sciences

          L'Équipe

          1995 France bombings