Commit Graph

154 Commits

Author SHA1 Message Date
nathan
0b15ede568 Et2Date: Fire change event when a new date is selected
Fixes nm date filters not filtering
2023-01-30 16:10:49 -07:00
nathan
38b507dcd1 Et2Date: Stop required validation showing on initial load even with a value 2023-01-17 10:52:02 -07:00
nathan
1a969c4cfc Et2Date: Fix validation message display
Required validation was incorrectly displayed / not hidden
2023-01-13 08:40:21 -07:00
nathan
ca5d80264c Less errors in date tests, still not passing 2023-01-05 08:38:56 -07:00
nathan
40278c8827 Get our WebComponent tests running again
Made a lot of "failed to construct htmlelement" errors go away, avoid a bunch of egwIsMobile is undefined errors
2023-01-04 12:01:09 -07:00
nathan
098fe647dc Start on converting date range to webcomponent 2022-12-20 14:05:20 -07:00
nathan
fd8f688e8b Avoid error if input node isn't created yet 2022-11-18 13:59:20 -07:00
nathan
d35eacb8a2 Fix gap between label & control, better solution for date-duration 2022-11-04 09:41:45 -06:00
nathan
6764ef979b Et2Date: Use regular inputs for mobile 2022-11-01 10:34:52 -06:00
nathan
12926c89e3 Et2DateDuration: Force label not to wrap 2022-10-31 13:58:26 -06:00
nathan
e5a88c35f5 Fix date duration label always showed above the input, never to the left 2022-10-28 11:48:42 -06:00
nathan
19bbea7aca Et2Date: Add up/down buttons on hover to adjust value without opening popup
Buttons adjust by day or minuteIncrement.  Minute values are now always rounded to multiples of minuteIncrement, unless freeMinuteEntries=true (or minuteIncrement=1)
2022-10-20 15:27:24 -06:00
nathan
5f3570768d Et2Date: Add "Ok" button to close calendar popup 2022-10-18 09:08:53 -06:00
nathan
c52ac8fbdc Et2DateTime: Limit minutes to multiples of 5 2022-10-14 11:18:17 -06:00
nathan
dcc6d1eb83 Et2Date: change "Today" button label to "Now" for widgets with time (Et2DateTime, Et2Timeonly, etc.) 2022-10-14 10:05:59 -06:00
nathan
2cb826e268 Et2Date: changes directly in the input field will now update popup & the value when blurred 2022-10-14 09:32:59 -06:00
nathan
0a745299ce Get flatpickr popup working along with LionDialog 2022-10-05 16:22:32 -06:00
ralf
96e2b495e1 pass placeholder attribute to et2-textbox 2022-10-04 13:46:15 +02:00
nathan
e03fea2e9b Et2Date: Fix required validation message was always shown after changing a required date
Some missed changes after moving from Lion
2022-09-20 10:44:28 -06:00
nathan
cfbb74b83e Fix some Et2DateDuration bugs
- Duration did not validate correctly
- Validation errors were not actually shown
- Empty duration ('') did not work consistently
2022-09-13 13:00:25 -06:00
nathan
662ea62790 Calendar: remove most sidebox date customisations
Now using regular calendar header.  "Go" button and custom header styles removed. Changing the date in sidebox calendar immediately updates state.
2022-09-12 15:35:24 -06:00
nathan
7f94b3ae6c Et2Date: Add "Today" button 2022-09-06 11:32:25 -06:00
nathan
33dcbc218f Revert "Calendar: Fix some kanban listen problems"
This reverts commit 59e64cd908.
2022-08-25 10:16:05 -06:00
nathan
59e64cd908 Calendar: Fix some kanban listen problems
- Status filter isn't really applicable
- Priority was missing its options
2022-08-25 10:13:32 -06:00
ralf
8b45483c68 fix not working "use enddate" in edit or quickadd
also fix not displayed month in header and add translation of month or week-day names
2022-08-12 11:38:15 +02:00
nathan
0186714112 Et2DateDuration improvements:
- If display.unit is not set, show the first unit option instead of blank selectbox
- Move number spinner to edge of box so numbers have more space
2022-07-27 13:36:04 -06:00
nathan
17012f6f25 Fix some readonly / readOnly bugs that snuck in when textbox was converted from Lion to Shoelace 2022-07-26 13:56:17 -06:00
nathan
5b76c8b16d Fix et2-date-duration would no longer return a value 2022-07-26 13:31:20 -06:00
nathan
66164ad2eb Fix disabled widgets returning a value
Fixes calendar event created via quick add, duration is wrong
2022-07-25 13:32:06 -06:00
nathan
3cb8b1ecce Get select hover border back 2022-07-22 10:44:37 -06:00
nathan
a0467b2e55 Fix JS error about can't find input box from init() 2022-07-22 08:42:35 -06:00
ralf
b8ffa91efe use et2-textbox instead of an input for et2-date* to inherit SL styling 2022-07-22 15:45:47 +02:00
nathan
68849a2b79 Use et2-select & et2-textbox in Et2DateDuration for consistent styling 2022-07-21 13:32:06 -06:00
ralf
b9d96ea3e9 change all attribute-names of new et2-* widgets to camelCase
only exception is select_options, never used in templates
2022-07-21 17:57:50 +02:00
nathan
724c42aa6b Block works better for automatic sizing 2022-07-19 16:55:46 -06:00
nathan
9ffc7decf2 Shrink minimum size for date widget to fit-content, add label if set 2022-06-24 14:08:06 -06:00
nathan
ec608e905a Fix some JS tests
- Description tests were not updated after description moved from shadowDOM to lightDOM
- Missing egw caused errors
2022-06-07 16:39:04 -06:00
ralf
3eaed09185 fix not working et2-date-since and rename et2-date-time_today to et2-date-time-today
create a new method egw.getTimezoneOffset() return current offset according to user preferences on server-side, like (new Date).getTimezoneOffset()
2022-05-05 11:38:48 +02:00
nathan
10af4f7514 Historylog + webcomponents
- historylog widget now uses webcomponents for timestamp & user, and whenever possible for values
- History::get_rows() formats customfield date/date-time values as needed
- implement setDetachedAttributes(), if nextmatch & historylog are calling them on webcomponents, might as well use that to set what they pass
2022-05-03 11:01:42 -06:00
nathan
cff1671f6f Et2Date: Handle formatting full month d-M-Y
Maybe we just pass all formatting off to flatpickr?
2022-05-02 17:10:07 -06:00
nathan
b0a57a05fd Calendar refactors:
- Remove some more jQueryUI.datepicker usages
2022-05-02 15:23:03 -06:00
nathan
f54c7f40bb Improve holidays() return documentation 2022-04-29 14:37:52 -06:00
nathan
b44f4ea30d Move holidays to its own file, show holidays in all date selection calendars 2022-04-29 14:37:52 -06:00
ralf
baf07a4a2c only load localization, if we have one 2022-04-29 17:40:43 +02:00
nathan
e5f238584e Et2Date: Avoid error localizing English 2022-04-29 09:14:51 -06:00
nathan
63b2755dbf Et2Date: Add localization 2022-04-28 15:46:39 -06:00
nathan
0017b78b53 Et2Date: Add support for inline dates & passing a format to parseDate 2022-04-26 15:24:58 -06:00
nathan
a83f9a1ec9 Get tests passing again
- Dates have their input as slotted, not internal
- Selects have .select_options, not .get_select_options()
- Remove this.egw().lang() use from Et2InvokerMixin._invokerTemplate()
2022-04-01 12:52:47 -06:00
nathan
c12d4cebfb Et2DateDuration: Enforce the order of display to be greatest to least
For example hours:days is not allowed anymore, auto-corrected to days:hours
2022-03-29 11:00:59 -06:00
ralf
ee36e83cbb fix Et2Date.set_value('') did not clear 2022-03-16 23:21:15 +02:00
nathan
944c0ad68e Add disabled to detached attributes 2022-03-09 10:17:59 -07:00
nathan
d0926226cd Fix set_min() & set_max() for Date 2022-03-07 14:33:09 -07:00
nathan
734401c6cd Get Date widget to use slots for better styling, also fixes re-initializing when not needed 2022-03-07 13:33:13 -07:00
nathan
1671e69603 Fix required dates gave missing error even if they had a value 2022-03-07 09:14:15 -07:00
nathan
aa2dc5c8f0 Maybe stop the disconnected month selectboxes? 2022-03-04 15:42:27 -07:00
nathan
0e4d32ea20 Get some neglected tests working again 2022-03-04 15:37:22 -07:00
nathan
1893a2c7fe Fix duration in infolog list 2022-03-03 14:14:26 -07:00
ralf
89613dd368 fix et2-date-duration showing NaN:NaN in timesheet
boolean attributes should not have a default of true, because DOM does NOT reflect false and we need to reflect for use in NM
--> changed default for select_unit for r/o duration to false and set it in timesheet.index to true
--> changing it for r/w too would require a lot of xet files to be updated (we don't need reflection there)
2022-03-02 11:02:24 +02:00
nathan
3c9b9540e4 Fix copy/paste error - Et2DateDuration does not have an options property to access 2022-03-01 16:50:05 -07:00
ralf
ac408f4eef Change handler setting modelValue for validation
setting it in getValue() alone does not remove validation message direct after entering a date
2022-03-01 16:09:27 +02:00
nathan
5406704c74 Add set_min() & set_max() 2022-02-28 14:06:37 -07:00
nathan
30ddeb79b0 Add missing change listener 2022-02-28 13:45:47 -07:00
nathan
e166211a66 Fix required dates always failed as empty 2022-02-25 11:29:36 -07:00
ralf
832725ce52 fix display_format="hⓂ️s" for r/o only gave one best matching unit (eg. 5m) not all units (eg. 0:05:30) 2022-02-25 10:16:28 +02:00
ralf
83cfb34c3c fix not working date_format!="m" (the default) in NM by reflecting it into DOM
also adding it to all properties used by the r/o widget

This needs to be done by a lot more r/o widgets, if they assign their default values in the constructor!
2022-02-25 09:45:35 +02:00
nathan
d9e95dae87 Get needed attribute working
Will cancel submit, shows validation message
2022-02-24 15:53:40 -07:00
ralf
c83b281aa9 added et2-date-timeonly_ro widget 2022-02-24 19:44:30 +02:00
nathan
41a18b6274 CSS fixes:
- Missing border in Et2DateDuration without unit selector
- Box alignment was not applied to widget inputs (Et2DateDuration) when the widget inputs did not fill all available space
2022-02-23 11:15:55 -07:00
nathan
ec13b1a472 Fix missing label in date widgets 2022-02-23 10:43:39 -07:00
nathan
354d15ba57 Support scroll wheel on date year, month, hour, minute 2022-02-22 11:23:54 -07:00
nathan
1e23a3c45e Fix date duration was 2px too wide
A border on et2-date-duration (:host) is sized differently from a border on its children
2022-02-22 10:37:13 -07:00
ralf
c2166c5750 fix select-boxes submit their old value, if they are onchange="1"
@Nathan: Not sure if this is the right fix, but I can't see where we use Lit's FormatMixing, which defines serializedValue (and therefore select-box always returns the old modalValue)
2022-02-21 20:58:56 +02:00
nathan
9079f97d7e Fix selectbox values were not set.
Paying more attention to the WebComponent life cycle here, rather than what our widgets do - connectedCallback(), requestUpdate(), updated() are more important than loadFromXML(), etc. which are only used when loading from the .xet the first time.
2022-02-18 12:02:27 -07:00
nathan
b8455e0b8d Fix Et2DateTimeOnly displayed 00:00 when value was "" 2022-02-17 10:30:35 -07:00
nathan
be4633c9fa Implement et2-date-duration 2022-02-16 16:45:40 -07:00
nathan
c81183f5f6 Fix incorrect value format in Et2Date 2022-02-16 10:52:37 -07:00
nathan
7cc9006e19 Add missing et2-date-timeonly widget 2022-02-16 10:43:15 -07:00
ralf
3f2c156914 fix missing flatpickr styles, thought you need to run: grunt cssmin 2022-02-16 15:36:06 +02:00
nathan
bc801f9c09 Fix missing import in et2 tests 2022-02-15 12:48:01 -07:00
nathan
8203eb3efd Use flatpickr for date widget calendar 2022-02-15 11:51:23 -07:00
nathan
28eb3fdd80 Add Et2DateTimeToday 2022-02-03 14:58:56 -07:00
Ralf Becker
073e7b9d2c enable et2-date-(duration|since)
need to register et2-date-since without _ro prefix, as there is only a r/o variant of the widget (currently)
2022-01-22 11:01:24 +02:00
nathan
f9ba6683be Read-only date-since and date-duration widgets 2022-01-21 13:46:12 -07:00
Ralf Becker
5ec2a233a4 using WCs for simple select, r/o select-* and r/o date(-time)
ToDo/Questions Nathan:
- Tracker index gives a client-side TypeError
- <et2-select-account readonly="true" is not registered, but <et2-select type="select-account" readonly="true" works
- <et2-date-time was registered as <et2-datetime, was that a typo of a conscious choice to rename the widget and not just prefix with et2-
- not yet enabled are r/w et2-date(-time)
- still missing are r/o et2-date-(since|duration)
2022-01-19 10:58:01 +02:00
nathan
f8ab5c521e Selectbox webcomponent 2022-01-04 15:38:10 -07:00
nathan
5bdf12f1b9 - Detached widgets still need a loadingFinished() for if they are children of legacy widgets
- Add description click handler
2021-12-21 10:52:39 -07:00
nathan
4e597b5672 Add date readonly, some class optimizing 2021-12-17 10:06:37 -07:00
nathan
528134cfac Adapt nextmatch to work with webcomponents + readonly datetime widget 2021-12-14 16:55:57 -07:00
nathan
ea2004173f Etemplate: Fix readonly was still giving a value 2021-12-10 13:24:06 -07:00
nathan
82b3abc290 Etemplate: Some more tests for readonly 2021-12-10 11:15:02 -07:00
nathan
c7e6baed69 Fix datetime didn't handle '0' as empty / blank 2021-11-08 13:40:28 -07:00
nathan
b78b7c3960 Fix formatter tests to work independant of timezone when run 2021-11-04 09:25:37 -06:00
nathan
ca429d0fae Tests for date + time parsing & formatting, and fixing the bugs they revealed 2021-11-03 13:49:39 -06:00
nathan
672ed0aa0e - DateTime widget to handle dates with times
- Time & Date+time parser & formatter functions
- Date widget does not return a time
2021-11-03 09:05:16 -06:00
nathan
312bf62adc Implement readonly for date widget 2021-11-01 10:21:08 -06:00
nathan
2256a26327 Make date widget work a little better WRT timezones 2021-10-18 16:03:05 -06:00
nathan
66f5c4bfc2 Add start of Et2Date tests 2021-10-07 08:41:53 -06:00
nathan
e460ed52d4 Et2Date style improvements 2021-09-24 11:13:14 -06:00
nathan
901bb2b70d Fix Calendar popup was opening with wrong date 2021-09-23 14:12:15 -06:00
nathan
8a2b717c51 Fix some type issues to make everything play more nicely together
(Not complaining about things from parent classes being missing, mostly)
2021-08-27 11:21:40 -06:00