vitalets / angular-xeditable

Edit in place for AngularJS
http://vitalets.github.io/angular-xeditable
MIT License
1.91k stars 402 forks source link

Transforming value before and after edit #723

Open piotr-dobrogost opened 6 years ago

piotr-dobrogost commented 6 years ago

I would like to use editable-datetime-local field but the problem is Firefox shows plain text input instead proper control for datetime-local field (https://caniuse.com/#feat=input-datetime). Because of this I need a way to format value stored in a model and present formatted value in edit field. Also I need a way to make Date object myself when editing is finished (sadly Firefox is able to make Date object only from ISO 8601 string which must include 'T' infix and don't handle space instead of this infix for datetime-local field).

How should I go about transforming value before and after edit?

Similar question on SO – Making html5 input field of type “datetime-local” compatible with Firefox

ckosloski commented 6 years ago

What about the combodate That uses moment.js which should be able to handle any date/time functions you need.

piotr-dobrogost commented 6 years ago

Thanks for suggestion. I've seen all date and time controls listed in the docs but datetime-local on Chrome and Edge is much nicer and one day it will be available on Firefox too. That's why I wanted to try and make it work. Any idea how to perform my pre and post edit transformations?

ckosloski commented 6 years ago

I guess I'm not 100% sure what you are asking for. If your value your using is user.date why can't you just format it like $scope.user.date = format your date For display after saving you have something like {{ (user.date | date: "yyyy-MM-dd") || 'empty' }} Look into moment.js for handling dates.