nathan
8203eb3efd
Use flatpickr for date widget calendar
2022-02-15 11:51:23 -07:00
nathan
d2020727fe
Fix some missing translation problems
2022-02-11 13:02:21 -07:00
Hadi Nategh
a7aee1d3d4
Let the pdfjs deal with new render request
2022-02-11 12:33:28 +01:00
Hadi Nategh
44d632be2a
Implements pdf-player custom element
2022-02-10 17:31:57 +01:00
nathan
650d76bd5c
Common cleaning of r/o select value
2022-02-07 13:51:05 -07:00
nathan
28eb3fdd80
Add Et2DateTimeToday
2022-02-03 14:58:56 -07:00
nathan
b91f66c629
Add some cleanup to find_select_options() make sure we're returning nice arrays instead of objects
2022-02-03 14:45:14 -07:00
nathan
3a1d8dfe11
Hide hidden textboxes
2022-02-03 14:41:58 -07:00
nathan
5b4c93b36a
Fix Et2Description tries to open on click even if href or link are not set
2022-02-03 13:52:14 -07:00
Hadi Nategh
2e5c433ab9
Add a boolean listonly option to vfs-upload widget in order to render only the file list
2022-02-03 15:56:03 +01:00
Hadi Nategh
1929ac02f6
Fix broken file widget's accept option caused by Resumable overriding it on initiation
2022-02-01 13:28:56 +01:00
Hadi Nategh
c7549daa54
Avoid setting an empty default image
2022-01-31 12:17:35 +01:00
Hadi Nategh
8e26062854
Add multi_src option into video widget
2022-01-28 15:51:33 +01:00
Hadi Nategh
66c6a4aef1
Implement custom html multi video element (makes it possible to merge and control multiple videos as one tag)
2022-01-28 13:49:17 +01:00
Hadi Nategh
d3f21bf333
Fix elements inside aligned box right/left don't get alignment properly
2022-01-25 12:43:37 +01:00
Hadi Nategh
4cf9c109d8
Make the ET2Button container accepting external css rules using ::part to get buttons in NM in shape (This should be avoided after NM is a WC)
2022-01-24 13:36:05 +01:00
Hadi Nategh
282c01f62e
Trigger a requestUpdate when setting widget_id in order to get attribute ID updates available for inherited widgets. (e.g. ET2Button=>requestUpdate)
2022-01-24 12:49:59 +01:00
Hadi Nategh
5904ac11b0
Fix button widget can't deal with app specific images e.g. mail/navbar
2022-01-24 11:58:06 +01: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
7e4bdece84
allow to set <overlay legacy="true"> to disable new web-components for the whole xet-file
...
also disable (not working) r/w et2-select web-component again
2022-01-20 22:09:48 +02:00
Hadi Nategh
d02afcbe54
Add more general styling to buttons
2022-01-20 17:34:38 +01:00
Hadi Nategh
c8e16dd3fb
Fix broken alignments in button icon+label
2022-01-20 17:23:30 +01:00
Hadi Nategh
6fd23b631f
Get the right size icon for imageOnly buttons and add right padding for buttons with icon+label
2022-01-20 16:36:51 +01:00
Hadi Nategh
28bcaf9422
WIP styling buttons: another approach to style buttons, keeping the icon slotted
2022-01-20 13:13:04 +01:00
nathan
cc9a6bcf8a
Don't split single values
2022-01-19 15:57:59 -07:00
nathan
2ea15ed399
Fix the error when trying to load tracker
2022-01-19 13:37:40 -07:00
nathan
ac808f96e0
some cleanup
2022-01-19 13:18:41 -07:00
nathan
96c174d483
Implement select-account_ro as web component
2022-01-19 13:17:46 -07:00
Hadi Nategh
d33534e2e1
WIP styling buttons
2022-01-19 18:30:45 +01: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
8eb0f21893
Fix webcomponents did not load value
2022-01-18 14:13:25 -07:00
Hadi Nategh
8b9e81fbfd
WIP styling buttons and color definitions
2022-01-18 15:13:48 +01:00
nathan
32be8200a6
Fix copy/paste error - looks like select-access wasn't implemented in et2
2022-01-17 15:31:25 -07:00
nathan
e07220392d
Select widgets with static options as WebComponents
2022-01-17 15:13:50 -07:00
nathan
09cbc44e67
Get cached server-side options working for webcomponent
2022-01-14 09:29:59 -07:00
nathan
82277c802b
Readonly textbox
2022-01-13 15:31:01 -07:00
nathan
20c82b6d72
Starting on selectboxes with static options.
...
Not entirely sure this is the way to go, but at least we don't have to
1. copy the options
2. inherit the whole editable object for a readonly
2022-01-13 15:28:52 -07:00
nathan
a5f8b6076a
Add some tests for Et2Box.disabled to make sure it behaves.
2022-01-12 14:35:01 -07:00
nathan
19a2b13974
Api: We also need to trigger LitElement update when we change it here, I guess.
...
Fixes disabled attribute didn't change when set_disabled() was called.
2022-01-12 13:55:58 -07:00
nathan
12120b5434
Api: Fix disabled not being correctly set
2022-01-12 11:41:13 -07:00
Ralf Becker
a3b63c9514
implement new "units" parameter to limit used units in date-since widget
...
eg. <date-since units="d" shows age in days
2022-01-12 12:47:49 +02:00
nathan
5a3e54a592
Fix for disabled not being set in some cases, try to deal with type
2022-01-11 15:16:50 -07:00
nathan
2c59914b74
Fix disabled attribute was not getting properly handled
...
In particular Admin -> File Manager -> VFS mounts and versioning had the "Delete all older versions..." block disabled when it shouldn't have been.
2022-01-10 09:32:31 -07:00
Ralf Becker
1f4cb50e74
use $method parameter of Api\Etemplate::exec() plus new et2_process handler as menuaction GET parameter
...
allows determining the called function on the URL to eg. send it to different FPM pool
(before the menuaction of et2 was always "EGroupware\Api\Etemplate::ajax_process_content")
2022-01-09 16:38:14 +02:00
nathan
fd7e7e2828
Basic tests for Et2Select, & fixes for bugs they revealed
2022-01-07 14:13:38 -07:00
nathan
57860e03db
Get onchange working (for select widget)
2022-01-06 16:22:55 -07:00
nathan
4ed888476c
Deal with some IDE warnings
...
better documentation of things tried
2022-01-05 13:14:28 -07:00
nathan
7ab60918f4
Fix missing bits in cssImage() example
2022-01-05 10:24:23 -07:00
nathan
a48e6cf1d3
- Add cssImage() to help with putting our images into LitElement CSS blocks
...
- Some code cleanup
2022-01-05 10:21:18 -07:00
nathan
85f753324d
Remove unused import
2022-01-05 08:07:01 -07:00
nathan
f8ab5c521e
Selectbox webcomponent
2022-01-04 15:38:10 -07:00
nathan
8d5f39b2d3
Add tests for description widget
2022-01-03 09:58:55 -07:00
nathan
0f45aed876
Reflect properties into DOM attributes, it's faster
2021-12-21 11:16:58 -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
602ac44c15
Fix readonly webcomponents inside a legacy widget were not loaded as readonly
2021-12-21 10:50:21 -07:00
nathan
fa707f0627
Fix widget.egw() returning null in some cases when widget parent was not completely in widget tree
2021-12-21 10:45:38 -07:00
nathan
7fcf6f1423
Add some more properties for description
...
activate_links
extra_link_target
extra_link_popup
href
2021-12-20 15:15:32 -07:00
nathan
e1ab343a5d
WIP on Et2Description. Shows improvement in nm render speed.
2021-12-17 14:47:19 -07:00
nathan
4e597b5672
Add date readonly, some class optimizing
2021-12-17 10:06:37 -07:00
nathan
3f71a75c86
Avoid error if expand finds nothing for the value (returns null)
2021-12-16 13:05:13 -07:00
nathan
9a3753eb93
Lets try this fix for the ID problem
2021-12-16 11:28:07 -07:00
Hadi Nategh
170ac4d6e2
Fix error Cannot read properties of null (reading 'split')
2021-12-16 11:39:43 +01:00
nathan
a027649ae5
Fix the failing clone()
2021-12-15 11:49:18 -07:00
nathan
528134cfac
Adapt nextmatch to work with webcomponents + readonly datetime widget
2021-12-14 16:55:57 -07:00
nathan
a7a84df7e5
Etemplate: Set a gap instead of using margin
2021-12-14 08:55:34 -07:00
nathan
d7a001cef0
Documentation fix
2021-12-10 13:42:38 -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
684d0846dc
Api: Attributes can contain multiple translatable substrings wrapped with {}
2021-12-09 11:32:31 -07:00
nathan
081b692dd1
Fix webcomponent children were not fully loaded before et2_ready callback was called
2021-12-09 10:54:37 -07:00
nathan
4fe9f6c614
Api: Stop images inside boxes from stretching
2021-12-09 09:26:58 -07:00
Hadi Nategh
d42f20cf38
Fix issue contact plus button sometimes gets stuck
2021-12-09 15:08:42 +01:00
nathan
50f4b5cd47
Fix missing calendar participant + button
...
set_readonly() was missing, getWindowTitle() was using .options.value instead of get_value()
2021-12-07 13:36:53 -07:00
nathan
d69d57e6e9
Merge branch 'master' into web-components
2021-12-06 10:52:10 -07:00
Hadi Nategh
c115e762b1
Add underline button into html editor's toolbar
2021-12-06 10:14:37 +01:00
nathan
d126834468
* Etemplate: Add link icon overlay to link list
2021-12-03 14:28:54 -07:00
nathan
5af7d0f644
* Etemplate: Add link icon overlay to link list
2021-12-03 14:18:48 -07:00
nathan
32d5bae817
Fix nm left template in wrong place
2021-11-19 11:57:22 -07:00
nathan
105b0705b1
- Fix duplicated row from template above nextmatch
...
- Fix favorite in wrong place
2021-11-18 14:37:23 -07:00
nathan
7831529ecb
Improve warning about parenting for WC widgets into legacy widgets
2021-11-18 14:34:13 -07:00
nathan
b91e1d8a5f
Merge branch 'master' into web-components
2021-11-18 10:28:30 -07:00
nathan
52a2d4e9bb
Clear tree before setting options to avoid duplicates
2021-11-10 15:00:32 -07:00
nathan
d15d7a3426
Implement parent_node attribute
...
Fixes calendar sidebox was not shown
2021-11-10 13:41:23 -07:00
nathan
7b11a25b8d
Fix some legacy parent issues where parent DOM node was not found when needed
...
- Checking & waiting for promises
- Could not get DOM nodes from nm header sub-templates
2021-11-10 11:47:07 -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
76d7447dab
Merge branch 'master' into web-components
2021-11-01 09:37:26 -06:00
Hadi Nategh
118b9c0e92
Fix onchange event not working for date-range widget
2021-10-22 13:16:33 +02:00
nathan
068e3feff0
Api: Fix setting the date min attribute to a number did not work
...
jQueryUI timepicker checks the type of variable
2021-10-19 14:15:37 -06:00
nathan
2256a26327
Make date widget work a little better WRT timezones
2021-10-18 16:03:05 -06:00
nathan
fbbc466c78
Merge branch 'master' into web-components
2021-10-18 10:56:05 -06:00
Hadi Nategh
b84ef08c29
Set node property for inputWidget as it's expected to contain input node
2021-10-13 15:36:33 +02:00
Hadi Nategh
f454536165
WIP implementing Iframe widget:
...
- Get some styling
- An approach to display label slot
2021-10-13 12:17:07 +02:00
Hadi Nategh
76a1f3c584
WIP implementing Iframe widget:
...
- Add fullscreen option
2021-10-13 11:11:52 +02:00
Hadi Nategh
13e717ce68
Merge pull request 8feac04979
#108 from Alexandros into the master
2021-10-11 10:34:19 +02:00
Hadi Nategh
be57764fa6
WIP implementing Iframe widget
2021-10-08 16:03:09 +02:00
nathan
d43c27a31b
Fix nested placeholders (customfields from other apps) were not being displayed properly
2021-10-07 14:51:16 -06:00
nathan
c73a7beac8
Add placeholder list for calendar & filemanager
2021-10-07 13:47:14 -06:00
nathan
66f5c4bfc2
Add start of Et2Date tests
2021-10-07 08:41:53 -06:00
nathan
02dce82010
Merge branch 'master' into web-components
2021-10-06 14:02:22 -06:00
nathan
6126bc2ac9
Placeholder dialog: Placeholder groups can now have groups
...
References (info_contact)/ customfields to other apps are expanded so all their placeholders are available as well
2021-10-04 14:45:57 -06:00
nathan
4b67e78012
Fix selectbox grouped options were not using value if provided
2021-10-04 14:41:08 -06:00
Hadi Nategh
b52abb9b62
Implement a test for Colorpicker widget
2021-10-04 14:42:30 +02:00
nathan
96bdcd7c0e
Fix some placeholder dialog bugs:
...
- Fix user placeholder does not use selected entry, so looks like a bug. Now hiding entry for user placeholders.
- Fix user & general showed up in entry app selectbox
- Fix insert address dialog was not passing selected entry
2021-10-01 13:35:27 -06:00
Ralf Becker
db83cc437c
refactor client-side form is not valid/submittable check of submit method into an own method isInvalid()
2021-09-30 09:26:36 +02:00
nathan
f6828a8205
Placeholder dialog: Add "name, email, phone snippet", fix some more missing translation issues
2021-09-28 10:16:57 -06:00
nathan
a39eeef7e7
Placeholder dialog: Fix some missing translation issues
2021-09-28 09:49:29 -06:00
Hadi Nategh
ae5e11f7a2
Translate details title before setting it into the DOM
2021-09-28 17:08:36 +02:00
nathan
7f930a6221
Placeholder dialog: Support for other apps, starting with Infolog
2021-09-27 14:46:41 -06:00
Hadi Nategh
6f8fccb1ad
Get mail app working (we use old-box widgets until replacing splitter with a web-component)
2021-09-27 16:14:42 +02: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
25773a929f
Merge remote-tracking branch 'origin/master' into web-components
2021-09-23 10:22:18 -06:00
nathan
d512238dc0
* Collabora: Add address insert dialog
2021-09-21 14:07:22 -06:00
nathan
8e67e2efad
WIP on placeholders
...
- Some TS cleanup
- Fix error in preview giving wrong results
2021-09-21 10:19:24 -06:00
nathan
6884902d93
W.I.P on collabora placeholder insert
...
- better button styling
- make entry select app = selected app
2021-09-20 16:28:20 -06:00
nathan
29bd739955
W.I.P on collabora placeholder insert
2021-09-20 15:34:55 -06:00
nathan
fa5dcc2a3c
Fix uneeded remove & re-add of WebComponent widgets to legacy parent
...
This fixes the incorrect vertical ordering of the preferences dialog (was tabs, header, footer )
2021-09-17 13:12:24 -06:00
nathan
d23b55fe6d
Change how boxes justify contents so buttons group on the left again.
...
Children without a max-width should still expand to share space.
2021-09-17 09:16:58 -06:00
nathan
59ee0b57f2
Get translations working in labels & statustext
2021-09-16 14:56:13 -06:00
nathan
e279945953
Try removing width:100% from box to help with sizing nested boxes
...
This should fix the problem with timesheet.edit delete button being pushed off to the right
2021-09-16 13:49:48 -06:00
nathan
abd2e3804a
- Fix default button image was not working
...
- Fix disabled="false" in template sort-of disabled buttons instead of them working normally
This fixes CRM view close button
2021-09-16 13:37:59 -06:00
nathan
d6ad0d986c
Changes from what we learned - using slots & not overriding render() to get all that Lion has
2021-09-16 11:03:46 -06:00
Hadi Nategh
029f75b9bc
Add getValue, setValue, clear button handler and styling for colorpicker
2021-09-16 11:38:09 +02:00
nathan
44fcd07f6b
Hopefully fix some out-of-order children when the first child of a box is a legacy widget
2021-09-15 16:29:17 -06:00
nathan
d68b8fdfe4
Fix disabled property/attribute was not getting reflected down to node, and Et2Box was missing the disabled style
2021-09-15 14:59:31 -06:00
nathan
23f8bc24c2
Fix some button stuff
...
- Submit / Cancel action was not being called correctly, so cancel buttons were not skipping change check
- Implement default image & class based on ID
2021-09-15 11:08:44 -06:00
nathan
d5652c2f7e
Bind app.appname.function context so widget can't lose it
2021-09-15 09:23:15 -06:00
nathan
decd64e7c3
Getter/Setter shenanigans to
...
- get widget's DOM ID to have the instance template as prefix
- keep widget.id as what's in the template, matching legacy
- widget.dom_id gives the DOM ID, matching legacy
2021-09-14 16:01:22 -06:00
nathan
277f465c50
Fix onclick to keep originally bound click handler context.
...
Fixes app.appname.func callbacks had widget as context
2021-09-14 13:23:17 -06:00
nathan
442de20d90
Add missing set_disabled() method
2021-09-14 11:50:10 -06:00
nathan
3c7da204c5
Fix button icons so they don't get space when not there
2021-09-14 11:43:43 -06:00
nathan
6883760d6f
Get Et2Textarea to automatically fill their available space if no width or height attribute is set
2021-09-14 11:12:33 -06:00
nathan
373cf6590d
Merge remote-tracking branch 'origin/master' into web-components
2021-09-13 14:56:08 -06:00
nathan
dd47af5d09
Remove debug
2021-09-13 14:52:28 -06:00
nathan
76ad419420
Fix index templates had nextmatch row nodes below the nextmatch
2021-09-13 14:41:36 -06:00
nathan
6a70efcc34
Fix left/right align CSS to work with out-of-order children
2021-09-13 11:57:23 -06:00
nathan
b7e34ed779
Fix child order when children are a mix of WebComponent & legacy widgets
2021-09-13 11:26:29 -06:00
nathan
6abb239705
Avoid error if widget does not have transformAttributes method
...
This might be an issue with not properly implemented DetachedDOM interface
2021-09-09 13:43:16 -06:00
Hadi Nategh
5dbba31285
Fix toolbar list header taking a while to get opened
2021-09-08 12:07:47 +02:00
Hadi Nategh
91d74767fe
Add an option to configure toolbar's list header style
2021-09-07 16:30:53 +02:00
nathan
6fe2ec6c65
Fix readonly was not hiding buttons
...
in Lion, they already have functionality on readOnly
2021-09-03 14:53:51 -06:00
nathan
347ea25131
Fix webcomponent attributes (class) were causing errors in nextmatch instead of being checked for variables
2021-09-03 14:45:45 -06:00
nathan
968a2d03bb
Fix widget class in .xet file was not showing up on webcomponent element
2021-09-03 14:44:52 -06:00
nathan
4cafdeb359
Fix webcomponent children of webcomponents did not get properly added when cloned.
...
Fixes infolog description was missing
2021-09-03 13:08:49 -06:00
nathan
dccf43f3e3
Fix clone & child handling
...
This gets webcomponents (Et2Box) working in nextmatch
2021-09-03 11:20:53 -06:00
Ralf Becker
582793d52b
Revert "Bring web-component work into master branch"
...
To many things are not working :(
- addressbook, infolog, even timesheet index lacks at least r/o textbox and problably other widgets
- smallPART (with many extra widgets) is completly unusable
- *box widget seems not to skip empty boxes
--> we need more testing and progress, before we can merge that
This reverts commit 9cee681b94
.
2021-09-03 11:28:22 +02:00
nathan
3619bd6ae1
Fix child widget handling to handle both legacy and webcomponent children the same, as much as possible
2021-09-02 13:40:26 -06:00
nathan
9cee681b94
Bring web-component work into master branch
2021-09-02 10:52:10 -06:00
nathan
25ba3e477a
- Set a max-width on buttons so we can let them flex
...
- Fix missing button label
2021-09-02 09:43:00 -06:00
nathan
637bd9fe5b
Style changes on Et2Box, now supporting the align [left|right] property.
2021-09-02 09:39:43 -06:00
Hadi Nategh
53f156a66b
WIP implementing colorpicker widget
2021-09-02 16:47:49 +02:00
nathan
61da5c544a
Merge branch 'master' into web-components
2021-08-27 11:40:22 -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
Ralf Becker
fb69cf39fd
replace all "(../)+node_modules/" with bare specifiers
2021-08-27 08:13:36 +02:00
Guy Bedford
2526b0460e
fix: node_modules resolutions
2021-08-27 07:58:30 +02:00
nathan
4218b132f9
- Sort out some type issues to reduce warnings/duplication
...
- Some tests for textbox
2021-08-26 12:59:13 -06:00
nathan
181b1c03ae
Fix imports to work with rollup
2021-08-26 09:20:41 -06:00
Hadi Nategh
3adec01e58
Fix youtube video starts to play automatically after being seeked to a time
2021-08-26 12:11:24 +02:00
nathan
2e712c47bc
Move the rest of the WebComponents into their own directory to get ready for tests
2021-08-25 15:35:06 -06:00
nathan
584d6bf51d
Add some button tests
2021-08-25 15:24:27 -06:00
nathan
ef3848fd3c
- Fix including everything just for a unit test
...
- Start of some tests for Et2Button
2021-08-25 11:32:15 -06:00
nathan
d656eb0e69
Javascript unit testing
...
Runs over all files in api/js/etemplate/<widget>/test and <app>/js/test folders
Run from the commandline with: npm jstest
Can also run & watch for changed files, check package.json for scripts.
2021-08-24 14:52:09 -06:00
nathan
d127cae5c6
Add get_value() to match legacy
2021-08-24 14:44:45 -06:00
nathan
538e483499
Merge branch 'master' into web-components
2021-08-23 15:41:27 -06:00
nathan
b393375823
Fix readonly property to match parent
2021-08-23 15:26:00 -06:00
nathan
8f784cd7b3
Remove setting defaults to undefined. It doesn't help the sizing issue, and it causes problems in the parent's size calculations
2021-08-23 13:09:45 -06:00
nathan
e3e3def64c
Use Lion's SlotMixin to handle button icon instead of managing it ourselves
2021-08-23 11:49:17 -06:00
nathan
17b4278ca2
Implement iterateOver for children
2021-08-23 10:21:51 -06:00
Ralf Becker
0203ce5a1f
also augmenting Promise returned from egw.request() with an abort method and using that in link-widget
2021-08-23 09:37:18 +02:00
nathan
64860e12f1
Better layout for textarea, but it's still not filling
2021-08-20 16:11:59 -06:00
nathan
e34ca22499
Split textarea off from textbox & start implementing
...
Splitting the two made things a lot simpler to deal with
2021-08-20 15:52:22 -06:00
nathan
0c6cd22bcd
Remove debugger
2021-08-20 15:51:14 -06:00
nathan
f00e4fb708
- onclick is fine being an attribute
...
- Avoid error when calling loadingFinished on a webComponent and the parent does not give/have a DOM node
2021-08-20 10:37:41 -06:00
nathan
e6ecdd1b25
Fix onclick context was bound to the widget class instead of the widget instance
...
This caused any onclicks that used "widget" variable to fail.
2021-08-20 10:23:39 -06:00
Hadi Nategh
2125e14b43
Import missing date library
2021-08-20 10:22:15 +02:00
nathan
e0144fcec7
Fix dialog not displaying set value
2021-08-19 15:32:47 -06:00
nathan
381d12dfa2
Get Et2Date loading & formatting value
2021-08-19 15:09:00 -06:00
nathan
b4a13037e2
- Reduce duplication with loadWebComponent() by making it a function & exporting
...
- Start to implement readonly attribute
2021-08-19 10:54:32 -06:00
Ralf Becker
6baf07090e
implement some missing features from old eTemplate:
...
- evaluate class set on a grid cell as done for the widget contained (probably more a bug-fix then a feature)
- allow to preset query for link-entry widget by passing an object with a query attribute
- allow to overwrite not only $readonlys[__ALL__] but also widget readonly attribute with a $readonlys value of false
2021-08-19 10:46:34 +02:00
Ralf Becker
1596bec75c
get form::name() legacy function working by making used et2_form_name function global, if used
2021-08-19 10:22:40 +02:00
nathan
445f394217
Fix some issues
...
- Some legacy widgets can not provide their DOMNode right away, but some give errors when we ask at the wrong time. Now catching those.
- Grid could not set disabled on web components, causing error
- Boxes were trying to work on labels they didn't have, causing error
2021-08-18 17:41:23 -06:00
nathan
39886a149d
* Api: Fix entry list stops scrolling if a row is updated while the tab is not visible
2021-08-17 13:56:52 -06:00
Hadi Nategh
96e960226f
Fix volume gets initiated on a wrong object becuase the youtube object is not yet ready
2021-08-17 12:01:53 +02:00
Hadi Nategh
61764809c8
Add getter/setter for video's mute option and fix volume unit
2021-08-16 17:49:47 +02:00
Hadi Nategh
4c1f398322
Fix volume and playbackrate for both youtube and html video
2021-08-16 13:48:10 +02:00
Hadi Nategh
5f4e910d0d
Do not activate cropper when the widget is set to readonly
2021-08-16 12:29:56 +02:00
nathan
4f225054f8
WIP on Date widget
...
Something's not right with the parser/formatter, they're not getting called.
Times not handled yet
2021-08-13 15:26:18 -06:00
Hadi Nategh
782de6d887
Remove excessive bracket
2021-08-13 12:56:20 +02:00
Hadi Nategh
a7ea5b51bf
Implements volume and playback options for video widget (both for html video and youtube)
2021-08-13 12:39:38 +02:00
nathan
35e5d57b2a
Merge branch 'master' into web-components
2021-08-12 13:22:51 -06:00
nathan
54e5826fc7
Get the link entry app selection menu working again
2021-08-12 11:21:49 -06:00
nathan
fac1dfb8d4
Merge branch 'master' into web-components
2021-08-12 10:35:46 -06:00
nathan
243d769d7c
- Change filenames to match classnames
...
- Change node import syntax
2021-08-12 10:32:05 -06:00
Hadi Nategh
d07a7ab194
WIP of replacing bower-asset packages:
...
- Get jquery-ui and touch event plugin working (although still modular import is not possible becuase of a wierd issue with jquery-ui tooltip plugin)
- Import timepicker-addon plugin as npm package
- Update composer.lock file
2021-08-12 14:51:38 +02:00
Ralf Becker
72699fad30
fix ESM module import (no currly brackets) as suggested by Guy Bedford
2021-08-11 19:28:01 +02:00
Hadi Nategh
8743bf64b0
Replace nm column jquery-ui sorting with sortablejs
2021-08-11 16:49:51 +02:00
Hadi Nategh
572908e300
Get favorites list sorting working with Sortablejs
2021-08-11 16:49:29 +02:00
Hadi Nategh
5777ebeb75
Get et2_grid sortable working with sortablejs
2021-08-11 16:49:16 +02:00
nathan
db7828ad1d
Add et2-box (& et2-hbox & et2-vbox) WebComponent
...
Box can have legacy & webcomponent children.
Used here in infolog edit created & modified row
2021-08-10 15:02:52 -06:00
Hadi Nategh
93c390139b
Fix error TypeError: Cannot read property 'length' of undefined
2021-07-26 10:10:30 +02:00
nathan
30d835fa39
- Get label "for" attribute working when target is a WebComponent
...
- Remove requirement that tooltip target be jQuery, get tooltips working on WebComponents
2021-07-23 10:18:45 -06:00
nathan
5fee9fcafe
Make et2-textbox as a WebComponent
...
Not all attributes are handled yet, but value cycle is working
2021-07-22 14:54:10 -06:00
nathan
ad00156113
Merge branch 'master' into web-components
2021-07-19 14:15:52 -06:00
nathan
610d8e1547
Try out Lion as base for button.
...
Much easier to customize, though not without its issues:
- Lion give us some stuff to handle validation, forms & input that I haven't looked into
- Slightly different mixin structure, I might be missing out on something
- Properties in extending class cause TypeScript error, but still work
2021-07-19 11:57:06 -06:00
Ralf Becker
0a1e784f2e
egw.getCache(name) function to get a cache-object shared between all EGroupware windows and popups
...
used to share server-side generated options for et2_selectbox
also removed nextmatch specific code from et2_selectbox which seems no longer necessary
2021-07-19 17:02:37 +02:00
Ralf Becker
87694e660c
seems to be no need to send a synchronous request
2021-07-16 12:03:29 +02:00
Ralf Becker
50b8839609
fix not working InfoLog index: synchronous request must return fulfilled promise
2021-07-16 11:49:53 +02:00
Ralf Becker
b780c7ebd8
replace jQuery.ajax with fetch (or XMLHttpRequest for synchronous requests)
2021-07-16 08:47:22 +02:00
nathan
47e296c947
Get to the point where a button will submit. Yay.
...
Most other input widgets can build off this base.
It doesn't validate yet because of the server side, but the client side is working.
2021-07-15 10:08:26 -06:00
nathan
1294bc99c6
Some cleanup
...
- Add but comment out decorators plugin so we know about it, but don't use it yet
- Better instanciation of button image node
- Remove previous mixin experiments
- Start on trying to get click handler parsing & working
2021-07-14 16:11:20 -06:00
nathan
b0322c549a
Attribute parsing & basics of WebComponents looking like et2 widgets
2021-07-14 09:49:36 -06:00
nathan
e474333bc8
Get stylite gantt extra bits running
2021-07-09 11:56:06 -06:00
Ralf Becker
65502ace6e
re-added daily cache-buster for app.js and removed explicit timepicker include causing a double include
...
(we still sometimes get a jQuery.datepicker is not defined, but it seems a timing issue and is NOT fixed by including it twice!)
2021-07-09 10:07:31 +02:00
Ralf Becker
b2a48fc942
fix vfs-select dialog destroyed et2 session of popup calling it
...
dialog set etemplate_exec_id of popup, to be able to submit to server, but must NOT destroy the et2 session when the dialog closes
et2_dialog now calls etemplate2.clear(true, true) to keep app-object AND et2 session
2021-07-07 16:29:04 +02:00
Hadi Nategh
052f5f23cc
Remove framework object from import statement which would override the actual object
2021-07-07 12:31:11 +02:00
Ralf Becker
cf101c8e13
fix not working nm_*_popup actions and others, see #60364
2021-07-07 09:30:29 +02:00
nathangray
0904057714
Solve some calendar issues that were breaking add / edit
...
- Date widget did not find timepicker.formatTime() when it wanted it
- Faked parent widget was not a good enough fake, added better checking
2021-07-06 11:05:03 -06:00
Ralf Becker
b5015299ee
add missing sprintf import
2021-07-06 16:41:23 +02:00
Ralf Becker
5505c9a314
make etemplate2 global, as we need it to check an app uses it and then call methods on it, fixes #60374
2021-07-06 16:00:10 +02:00
Hadi Nategh
81bc236045
Fix vfsSelectUI destroys et2 object after dialog being closed
2021-07-06 15:59:51 +02:00
Hadi Nategh
89695620bc
Make sure et2 widgets are there before the container into vfsSelectUI app object
2021-07-06 15:50:49 +02:00
Ralf Becker
75fddd325b
if value has already been set, re-set it by it's id(s), fixes #60304
2021-07-06 14:43:13 +02:00
Ralf Becker
51b0888b5d
fix diverse calendar errors #60294
...
thought not sure how this is supposed to work in 21.1, both look like a general problem
2021-07-06 13:06:32 +02:00
nathangray
c380ad906d
Api: Get rid of double super constructor call
2021-07-02 10:17:49 -06:00
Hadi Nategh
1971fa0e18
Import vfsSelectUI
2021-07-02 11:44:11 +02:00
Hadi Nategh
463d931209
Fix cropper in avatar widget
2021-07-02 10:53:10 +02:00
Ralf Becker
b88716c8b6
legacy load jQueryUI as tooltip has wired context problems if loaded as module
2021-07-02 08:52:18 +02:00
Ralf Becker
68155251fa
fixing a couple of jQuery plugin includes
...
thought jQueryUI-tooltip is still broken and we either need to legacy-load jQuery(UI) or fix the tooltip
2021-07-01 16:33:15 +02:00
Ralf Becker
8c7722c8b0
1. loading dhmtlx(tree|menu) again via script tag
...
2. fixed not loaded app.js in egw_json by using import direct and not includeJS (and therefore removed additional include in et2_load)
3. adding cache-buster for egw.js and app.js endpoints to force reloads (not adding them for anything else, as it interferes with rollup
2021-07-01 14:36:51 +02:00
Ralf Becker
05405b955a
remove generated .js files from git
2021-07-01 08:38:08 +02:00
nathangray
3adce4ad58
Get diff widget working
2021-06-30 13:36:59 -06:00
nathangray
e75d3a0777
Get taglist working
2021-06-30 12:45:06 -06:00
nathangray
3add958afa
The results of Guy Bedford's help
...
Egroupware will load into addressbook & show rows
Most base files should be bundled server-side & included
rollup.config.js controls the process
Still needs work:
- consider /dist directory for best-practice
- cleanup
- other built-in apps
- EPL / external apps need Guy's multi-stage work
2021-06-25 14:49:24 -06:00
nathangray
459c021b8c
Comment this out while we work on rollup
2021-06-23 16:26:25 -06:00
nathangray
6559a053f3
Merge branch 'master' into new-js-loader to bring it up to date
2021-06-23 15:40:50 -06:00
nathangray
9242673aa1
- A first webcomponent (et2-button)
...
- Some mixin logic, not used but available
2021-06-23 15:39:58 -06:00
nathangray
186e03671a
Change merge download/Collabora to a common generation method, avoiding need to POST.
...
This allows Kanban to download merge files
2021-06-23 11:20:09 -06:00
nathangray
78a01ced17
Api: Allow Web Components to be added into templates (.xet files)
...
Current limitations:
- display only, I haven't figured out getting values back yet
- no children in the web components
2021-06-18 14:20:17 -06:00
Hadi Nategh
498cb2994d
Add missing compiled js for url widget
2021-06-18 15:29:19 +02:00
nathangray
f64a026898
Etemplate: Only re-set label if the new value is different
...
Fixes initialization could clear the link text if value was set first
2021-06-18 15:04:00 +02:00
Ralf Becker
2388970002
fix blank screen when changing views in admin
2021-06-15 12:50:10 +02:00
Ralf Becker
23844e01df
fix wrong import
2021-06-14 14:48:05 +02:00
Hadi Nategh
b4c4606c22
Move all egw_action constants into egw_action_constants
2021-06-14 13:45:57 +02:00
Ralf Becker
be0af7be68
split implements and instanceOf from ClassWithAttributes in own ClassWithInterfaces and let et2_dataview_view_container inherit from it
2021-06-14 11:47:02 +02:00
Ralf Becker
ee508c50b9
filter out legacy JS code from importmap and sort it
...
also only add extension-less includes for .ts files (was accidentally commented out) and fix some .js imports without extension
2021-06-12 11:44:28 +02:00
nathangray
8a666c751f
Etemplate: Make some statustext readable by screenreader
...
(cherry picked from commit 5aba575d25
)
2021-06-11 13:17:34 -06:00
Ralf Becker
587c4fd8fd
fix not working add in calendar (et2_valueWidget not defined)
...
instead of checking widget to be instance of valueWidget (which would create a circular dependency) we check for the interface/methods of valueWidget
2021-06-11 14:50:46 +02:00
Ralf Becker
771d6c727f
got mail app.js incl. jsapi/app_base.js working
...
plus marking et2 methods returning promisses as async and removing cache-buster from includeJS calls in egw_action_common.js as it causes double loads
2021-06-11 10:11:13 +02:00
Ralf Becker
e18832e110
defer calls to app.* after et2_load is finished
...
changing et2_load egw_json plugin to return a promise for that
2021-06-11 09:05:57 +02:00
Ralf Becker
e4ac5b2268
got et2_htmlarea/TinyMCE working in edit resources
2021-06-10 15:53:52 +02:00
Hadi Nategh
9ea598070e
Get vfs and expose working
2021-06-10 15:52:00 +02:00
Hadi Nategh
54fff9739a
Add more missing import statements
2021-06-10 15:40:49 +02:00
Ralf Becker
77a4aad7d6
got tree-actions in admin working and fixed tutorials (et2.load() stalled if no app.js or lang-files)
2021-06-10 14:54:30 +02:00
Hadi Nategh
31c7b87faa
Add splitter.js and make et2_dialog available globally
2021-06-10 14:21:41 +02:00
Hadi Nategh
f4d2ddde7d
Get magicsuggest and tree widget working
2021-06-10 14:07:02 +02:00
Hadi Nategh
0730d4880e
Remove couple of more jquery import statements
2021-06-10 13:57:33 +02:00
Ralf Becker
c51275fde3
got admin index incl. et2_tree and et2_date_ro working
2021-06-10 13:53:07 +02:00
Ralf Becker
5298336886
include jquery and other legacy js files via script tag
2021-06-10 11:38:54 +02:00
Hadi Nategh
42305a6562
Fix some imports for et2 widgets
2021-06-09 14:28:29 +02:00
Ralf Becker
08d7b7df3e
fix async loading caused app.js not being loaded before et2.load() tried to instantiate it
2021-06-09 11:21:52 +02:00
Ralf Becker
38cb855017
fixing a couple more imports to get addressbook list show up
2021-06-09 11:11:34 +02:00
Ralf Becker
c440dffa54
exporting functions
2021-06-09 10:31:22 +02:00
nathangray
488f01aea9
Etemplate: Only re-set label if the new value is different
...
Fixes initialization could clear the link text if value was set first
2021-06-09 08:41:07 +02:00
Ralf Becker
bfea641321
fix async loading caused app.js not being loaded before et2.load() tried to instantiate it
2021-06-08 17:13:30 +02:00
Ralf Becker
8fa2bb466b
fixed includeJS causing jQuery to be included twice and breaking plugins
2021-06-08 15:11:37 +02:00
Ralf Becker
304dbb95ab
got empty nextmatch in timesheet working
2021-06-08 14:11:59 +02:00
Ralf Becker
f91bca83e1
got et2 mostly working: timesheet.edit renders
2021-06-07 17:33:53 +02:00
nathangray
be34aa1834
Etemplate: Change r/o URLs to use label as link text
2021-06-04 10:50:23 -06:00
nathangray
200aebd171
Etemplate: Fix taglist input was not getting name attribute set since c3bebf9c31
2021-05-31 09:39:30 -06:00
Ralf Becker
d3d8ff3493
* Mail/Admin: fix not working mail wizard
...
caused by loading app.js again and therefore this.et2 is not set --> only load / use egw.applyFunc() if not already set
2021-05-25 18:25:11 +02:00
Ralf Becker
5e151a6210
export hbox widget and mark parameter in getDOMNode() optional
2021-05-21 12:25:29 +02:00
nathangray
6790ffb273
Etemplate: Changes to adapt to get/set in valueWidget interface
2021-05-19 13:54:56 -06:00
nathangray
94f5c437e8
Etemplate: add get/set_value() to valueWidget interface
2021-05-19 11:15:12 -06:00
Ralf Becker
68e216abea
fix missing the widget argument
2021-05-17 22:03:32 +02:00
Ralf Becker
fcbe746755
dynamic load app.js file for "app.$app.$func" type handlers, if not already loaded
...
so eg. a config.xet run by admin app could call a handler from the apps own app.js
2021-05-17 21:45:24 +02:00
nathangray
a4199de696
Etemplate: fix date widget popup could not be clicked
2021-05-17 11:49:56 -06:00
Ralf Becker
c4d9455fb4
allow to change video via set_src (and set_src_type)
2021-05-15 20:26:28 +02:00
nathangray
c3bebf9c31
Widget accessibility improvements
2021-05-13 10:01:38 -06:00
nathangray
b4b38d54ff
Get rid of any extra whitespace in break string
2021-05-10 15:38:07 -06:00
nathangray
a94345bbed
Etemplate: let break_title be optional based on space, and keep the actual characters
2021-05-10 11:55:22 -06:00
nathangray
dd9352e9c4
Etemplate: Fix links with title provided always displayed loading spinner
2021-05-10 11:00:41 -06:00
nathangray
d367da6ba8
Etemplate: switch to tab of first invalid input, not last
2021-05-05 10:09:31 -06:00
Hadi Nategh
47c7570862
Prevent vfs select dialog destroying session becuase of not being able to find the right app name (eg. admin mail account where app is different than current app)
2021-05-05 16:51:19 +02:00
Ralf Becker
52bbfbef0b
allow "{one phrase} {other phrase}" syntax in all attributes marked as translate eg. labels
2021-05-01 14:22:34 +02:00
Hadi Nategh
3f3748dc87
fix uploaded photo in avatar widget not being updated after cropping it. Additionally, fixes avatar size used in lists (eg. nm)
2021-04-28 12:45:12 +02:00
nathangray
8ec1e46ea4
Etemplate: Catch errors when destroying editor so we can see what's going on, and not break
2021-04-21 15:38:10 -06:00
Hadi Nategh
c370941c51
Keep private app objects if dialog gets destroyed
2021-04-20 15:30:46 +02:00
nathangray
50b4067299
Add handling for confirm on button click that better matches normal execution path
...
This works better for buttons that are in a namespace
2021-04-19 10:09:49 -06:00
Hadi Nategh
85feb685f3
Ask the right app when getting appObjectManager, appname might not always be the current app (e.g. running app content under admin tab)
2021-04-19 14:00:38 +02:00
nathangray
602c08556d
Don't try quite so hard to search for select options
...
It was finding & using ALL options if there was a namespace in the selectbox ID, but no options found.
2021-04-13 16:00:43 -06:00
Hadi Nategh
19c7162274
Fix positions for html editor bullist and numlist actions
2021-04-12 11:29:18 +02:00
Ralf Becker
c9a478c3d2
change getRoot() to return et2_container to get (g|s)etValueById() and friends working without a cast
2021-04-07 16:28:21 +02:00
Ralf Becker
e132cb0603
fix more then 59 seconds set for "hms"
2021-03-29 18:02:55 +02:00
nathangray
67ab00ad05
Etemplate: Fix some missing bits in searchbox
2021-03-25 11:21:45 -06:00
nathangray
87ff6842ea
Api: Stop annoying "column saved" message that kept coming up
2021-03-24 10:21:02 -06:00
nathangray
d0c5f3c09b
Commit changes from update to TypeScript 3.9.9 so we don't keep reverting them.
2021-03-22 11:42:50 -06:00
nathangray
93adb0dca5
Fix clicking on a link to app entry (not file) threw JS error instead of opening
2021-03-22 11:18:16 -06:00
nathangray
534c188d25
Put selected columns into nextmatch value so columns are saved in favourites
2021-03-22 11:09:41 -06:00
nathangray
15b0ecec22
Solve the problem with mail selecting the next mail and marking it as read when you move a mail by turning off the select-next-row thing for mail
2021-03-16 11:06:48 -06:00
Hadi Nategh
ec18782513
Exclude audio types from gallery list
2021-03-16 14:02:14 +01:00
Hadi Nategh
0f0b6e4154
Implement basic audio player for audio expose
2021-03-16 13:23:54 +01:00
Hadi Nategh
eed827fccd
Add missing audio widget js
2021-03-11 12:36:32 +01:00
Hadi Nategh
72c334be02
Allow custom image url for et2_dialog buttons
2021-03-11 12:09:53 +01:00
Hadi Nategh
c089e73678
Implements et2_audio widget
2021-03-10 14:52:32 +01:00
Hadi Nategh
e5674bbc5d
Fix missing mailvelope readonly properties from egw_app object
2021-03-09 15:19:27 +01:00
nathangray
4d9a30a041
Etemplate: Fix missing tooltip on toolbar checkboxes
2021-03-03 08:53:19 -07:00
Ralf Becker
9691a14279
interface for nm getValue() and activeFilters
2021-03-01 23:08:13 +02:00
nathangray
9128d15bb2
Etemplate: Fix some load bugs
...
- tabs got doLoadingFinished() multiple times if tablist was modified by data
- selectbox with cached options did not load correctly first time
2021-02-26 15:22:47 -07:00
Hadi Nategh
e5ea49a565
Fix youtube video autoplays itself after being seekTo on initiation.
2021-02-26 13:17:54 +01:00
Hadi Nategh
925285d370
Fix youtube video not being played for after initiation
2021-02-26 10:16:12 +01:00
Hadi Nategh
1f41bba904
Fix youtube API loading player after initiation
2021-02-25 13:51:20 +01:00
Hadi Nategh
2d4b0b8259
Fetch youtube videoid from url
2021-02-25 11:19:26 +01:00
nathangray
3c72462b5e
Enable push for addressbook
...
Refactor EgwApp.push() to cover more common stuff for simpler app code
2021-02-24 09:18:42 -07:00
Ralf Becker
907b33454a
date-duration select_unit=false must show full value for highest display unit, not just the remainer
...
value=3600 with display_format=m:s must show "60:00" not "00:00"
2021-02-22 10:52:15 +02:00
Hadi Nategh
1501df227a
WIP integrating youtube video:
...
- fix ontimeupdate event
- fix currentTime for youtube type
- fix not working play_video
- fix video not getting a fullwidth
2021-02-16 18:00:46 +01:00
Hadi Nategh
f5e165a07a
WIP integrating youtube video frame api into video widget
2021-02-15 16:58:19 +01:00
Hadi Nategh
390c715508
Encapsulate html video properties
2021-02-15 12:24:33 +01:00
Hadi Nategh
dc2f80c39c
Some TypeScript definitions
2021-02-10 14:12:27 +01:00
Ralf Becker
df2a426e08
fix not working onchange on all inputs of date-duration select_unit="false"
2021-02-09 15:51:10 +02:00
nathangray
0d7a4bb848
Etemplate: Fix rows actions didn't work after dragging file from system onto row
2021-02-08 14:44:55 -07:00
Ralf Becker
04f4a327c2
implement date-duration select_unit="false" to show durations like "0:01:20"
2021-02-05 15:57:59 +02:00
Hadi Nategh
62951986ae
Add break_title option for link widget in order to be able to break link's title into new line based on a given delimiter
2021-02-03 14:14:22 +01:00
Hadi Nategh
8f28533288
Set initial startitme after the video is loaded
2021-02-02 12:35:28 +01:00
Ralf Becker
bbd9a5a765
allow to set starttime of video
2021-02-02 12:02:52 +02:00
nathangray
a412aa18a4
Etemplate: Export et2_appicon
2021-02-01 16:54:20 -07:00
nathangray
6ab0ad934b
Etemplate: Fix tree default icons path was still in phpgwapi
2021-02-01 16:40:10 -07:00
Ralf Becker
2af199f725
new precision option to limit number of counters shown
2021-01-29 20:35:00 +02:00
Ralf Becker
15c72f284f
change client-side to only deal with a duration converted server-side from an end-datetime or a duration like "+123seconds"
2021-01-28 19:53:14 +02:00
Ralf Becker
5b4a436ab3
countdown: convert datetime server-side into a duration to avoid problems with wrong time or timezone on client
2021-01-28 16:02:38 +02:00
Ralf Becker
69b33e9288
make countdown a value-widget to get automatic timezone handling by date widgets beforeSendToClient method
2021-01-28 12:08:29 +02:00
nathangray
e980f3a851
Etemplate: if readonly radiobox has the default ro_true=X, we still need the label
2021-01-26 13:09:39 -07:00
nathangray
867fcc17c6
Etemplate: Allow to specify the read only true/false values for checkbox customfields
2021-01-26 10:42:18 -07:00
Ralf Becker
8425f380fe
some fixes for int/float widget: server-side was not expanding min/max attribute and client-side considers empty min/max attr as 0
2021-01-22 17:24:55 +02:00
Hadi Nategh
4e95ac86a8
Add some jquery dialog options
2021-01-14 16:57:28 +01:00
nathangray
208817054b
* Etemplate: Avoid "Uncaught TypeError: Cannot read property ‘length’ of undefined"
...
This was happening when an app was open but not currently active and had a push update with no type.
2021-01-13 09:08:53 -07:00
Hadi Nategh
a777610c2d
Fix htmlarea resize
2021-01-07 11:46:09 +01:00
Hadi Nategh
85b14052ea
Make blockquotes breakable in html editor
2021-01-06 14:06:21 +01:00
nathangray
cf9c366d2b
Etemplate: Bugfixes
...
- Early exit for arrayMgr().getEntry() if nothing is found, avoids returning all data
- Remove debugger from selectbox
2021-01-04 11:00:10 -07:00
nathangray
5c10576b3b
Don't event set sort order if it hasn't changed
2021-01-04 09:43:54 -07:00
nathangray
6af3e37bed
* Etemplate: Add context menu action on linked files to copy them somewhere else
...
Also, update vfsSelect to use request(), so it processes the additional stuff in response so we can have a success message.
2020-12-21 13:53:24 -07:00
nathangray
5b5539584a
Etemplate: Fix tooltip didn't work on select+tag widget
2020-12-21 10:04:24 -07:00
nathangray
8910983c8e
Etemplate: Fix for some attributes not getting set
2020-12-17 09:17:38 -07:00
nathangray
c301c1b194
Etemplate: Fix read-only selectAccount would always add new values causing doubles
2020-12-15 09:41:02 -07:00
Alexandros Sigalas
2a333be92d
Added tooltip in multiselect selectbox widget
2020-12-10 08:55:05 -07:00
Hadi Nategh
cde6c10e05
Add Segoe font family into HTMLEditor
2020-12-09 13:17:37 +01:00
Hadi Nategh
e317645291
* Addressbook: fix 'undefined' title shown for some contact links opened in CRM view tabs
2020-12-03 18:19:25 +01:00
Hadi Nategh
d957ed41d0
Implement an alarm callback for countdown widget
2020-12-02 16:54:50 +01:00
Hadi Nategh
bd8a78505b
Add new option to countdown widget inorder to hide empty values
2020-11-30 14:35:28 +01:00
nathangray
3e371ea51f
Etemplate: Don't try to expand src if it is empty
2020-11-24 10:24:36 -07:00
Hadi Nategh
54eb66fd30
Add onFinish callback to countdown widget and style it
2020-11-24 13:46:05 +01:00
Hadi Nategh
65b24440a0
Implement widget countdown timer
2020-11-23 21:11:19 +01:00
nathangray
522fca6344
Etemplate: Apply sort order (to UI) if server sends it
2020-11-23 10:19:11 -07:00
Hadi Nategh
09c0d12f0e
Fix error trim is not a function from commit bac5c2e83b
2020-11-13 13:50:53 +01:00
nathangray
bac5c2e83b
Etemplate: If key is empty / not set, don't try to explode it
2020-11-12 16:29:57 -07:00
nathangray
eb7a03b191
Etemplate: Limit sortable to just the grid's immediate rows, excluding rows in nested grids
2020-11-10 13:41:24 -07:00
nathangray
1ba23feb9c
Etemplate: Fix nextmatch controller destroy() left some references
...
AJAX responses would then try to use them after the etemplate was destroyed, and fail.
2020-11-09 09:44:40 -07:00
nathangray
8b28d8ffd0
Etemplate: Include etemplate exec_id as sortable parameter
2020-11-04 15:15:31 -07:00
Ralf Becker
e98e91b9f3
give explicit select-options priority over querying accounts via link-widget, fixes not displayed addressbook for sharing
2020-11-02 09:09:46 +01:00
Ralf Becker
9021220f14
only return "" for blur-value, if browser does not support html5 placeholder
2020-10-29 11:00:45 +01:00
Ralf Becker
47da0f9bf8
* Addressbook: allow to configure sending fax via email by replacing the number with an email address
2020-10-28 13:30:28 +01:00
nathangray
7cfbf133cd
Etemplate: Also expand grids if they're inside a box
2020-10-27 16:17:04 -06:00
nathangray
d16b91c901
Etemplate: Queue refresh() calls made while nextmatch is hidden.
...
Queue is limited in length, after too many refresh() calls, we throw away the queue and refresh the whole thing when nextmatch is visible again.
2020-10-22 15:53:59 -06:00
nathangray
3b90e1a50d
Etemplate: Fix auto-refresh mixed up new rows
2020-10-22 13:40:38 -06:00
Hadi Nategh
7d1cd4c12c
WIP Multitabs:
...
- Fix wrong ids generated for sideboxes
- Fix tab header refresh
2020-10-22 13:52:17 +02:00
nathangray
d1955419ee
Etemplate: Fix flipping between 2 nextmatch filter values stopped updating results after 2 changes
2020-10-19 13:17:09 -06:00
Hadi Nategh
5288e3a0fd
Make sure sender object is there before using it
2020-10-19 16:06:22 +02:00
Hadi Nategh
644feaffa4
* Filemanager: fix drag and drop a file no longer working from outside of browser into the list
2020-10-19 12:54:16 +02:00
Ralf Becker
fa98eb1071
fix a couple of errors stalling file uploades
2020-10-19 11:45:49 +02:00
nathangray
c78c8cc215
Etemplate: Make sure controller has current filters when created. Fixes scrolling to trigger fetching more rows did not pass initial filters.
2020-10-15 14:56:23 -06:00
nathangray
0df6306dc2
Etemplate: Fix multi-select / tags value sometimes got lost if we had to fetch options from the server
2020-10-15 11:22:45 -06:00
nathangray
758934c1e4
Etemplate: Fix printing ruined scrolling in nextmatch
2020-10-15 10:11:24 -06:00
nathangray
90080cc0e6
Etemplate: Fix extra rows stayed hidden after printing
2020-10-14 11:48:57 -06:00
nathangray
52b1cab8e1
Etemplate: Fix drag and drop linking made the rows involved disappear
2020-10-14 10:38:11 -06:00
Hadi Nategh
4f1ce8da48
Add table into toolbar list
2020-10-14 11:38:07 +02:00
Hadi Nategh
43600426c7
* Api: Add table button into html editor's toolbar
2020-10-14 11:05:51 +02:00
Hadi Nategh
2ed6f54e9b
Updates tinymce to 5.5.1 and implements toolbar_mode option for htmlarea
2020-10-14 10:40:35 +02:00
Hadi Nategh
71dabcd33b
Fix sorting for connectedWidth columns
2020-10-14 10:33:19 +02:00
nathangray
855d6defc9
Etemplate: Fix push add to an empty nextmatch would leave the 'No matches found' and throw errors for row actions
2020-10-09 10:15:17 -06:00
Hadi Nategh
23aea3b42e
Make html widget exportable
2020-10-09 14:57:15 +02:00
nathangray
9c4f866382
Fix methods in hidden app objects could not be used as action handlers
...
Now nextmatch sets the etemplate's EgwApp object as context for the action manager. Actions now check and will use the set context instead of global when binding to handlers
2020-10-08 14:57:45 -06:00
nathangray
ba0e1240c3
CRM: Fix some list bugs
...
- Adding an infolog did not show up
- CRM.ts got disconnected if infolog list got reloaded
2020-10-08 11:53:33 -06:00
Hadi Nategh
87b1b05730
Make htmlarea widget exportable
2020-10-08 12:15:08 +02:00
Ralf Becker
1c1ee3a25b
execute non-http(s) links eg. tel: like before
2020-10-07 14:06:10 +02:00
Hadi Nategh
588a667137
Make et2_number widget exportable
2020-10-06 10:31:26 +02:00
nathangray
dd015a62a8
Etemplate: Avoid session destruction from PBX integration
2020-10-05 12:58:50 -06:00
nathangray
f07303b321
Etemplate: Fix editing entry so it no longer matched current filters would cause missing rows and incorrect total
2020-10-02 10:39:33 -06:00
Hadi Nategh
7f4535cf1d
WIP multitabs and CRM view
2020-09-30 13:19:36 +02:00
nathangray
ba7cbc5d5a
Etemplate: Make child nodes protected instead of private for easier extending
2020-09-28 10:05:32 -06:00
nathangray
53577db40c
Etemplate: fix for better behaviour if lazy-update pref is not set
2020-09-28 08:51:46 -06:00
Hadi Nategh
cdbc5e3a71
Create new sidemenuEntry for tab target
2020-09-28 15:43:42 +02:00
Hadi Nategh
acbd23a60a
* Mail: Add custom html toolbar settings in mail site-configuration in order to be able to add/remove certain actions only for mail-compose dialog.
2020-09-25 14:17:29 +02:00
Hadi Nategh
f88ae4f46a
Merge branch 'multitabs'
2020-09-25 11:30:32 +02:00
nathangray
293f9cc446
Etemplate: Different way to download generated files to avoid destroying sessions of not-visible etemplates
2020-09-24 15:18:22 -06:00
Hadi Nategh
4bf65486ef
WIP of framework's multitab implementation
2020-09-23 16:55:35 +02:00
nathangray
2ef359f0d0
Etemplate: Fix selectAccount deprecated legacy option of putting account type in empty label
2020-09-16 09:14:50 -06:00
nathangray
39b630d36e
Etemplate: Fix some selectAccount bugs when multiple=true
2020-09-15 11:23:02 -06:00
nathangray
afb342f66b
Etemplate: Ask for new data before we put the row in, then if the entry doesn't match the filters, don't put it in. Should stop most blinking rows.
2020-09-15 09:05:25 -06:00
nathangray
47a1437e1b
Etemplate: Consider null as false when parsing boolean values into template attributes
2020-09-14 09:37:37 -06:00
nathangray
459ba3d93c
* Etemplate: Fix historylog did not render until you resize the window
2020-09-11 13:12:09 -06:00
Ralf Becker
638da52fa9
fix date-duration fails with only one date-format eg. "m"
2020-09-11 20:22:51 +02:00
nathangray
56e1d3c5e5
Etemplate: Fix some missing includes
2020-09-10 16:59:34 -06:00
nathangray
d6d55c32a9
Etemplate: Fix updated entries were sometimes not flagged, clear color after 3 minutes
2020-09-10 13:42:32 -06:00
nathangray
2dc5616b96
Separate CRM list from infolog list so push updates don't conflict
2020-09-03 09:58:27 -06:00
nathangray
210c54b689
Etemplate: More fixes for row count when updating / adding
...
Now fixed the situation where 1 row was updated & 1 added, but the added one did not match filter and was not returned when server was asked. Now removed blank row waiting for it, and keeping row count consistent
2020-09-01 14:49:06 -06:00
nathangray
b7b4cb31c8
Etemplate: Row count does not depend on data.class
2020-09-01 12:22:47 -06:00
nathangray
df57ea914e
Etemplate: Fix another bug in refresh / add / update
...
This one was found in Infolog, adding a sub to an entry with the show-subs preference set to only while filtering. The row count would be off by one if the new entry did not match the filter.
2020-09-01 11:54:35 -06:00
nathangray
3ff331c22b
Etemplate: Avoid trying to repaint datagrid while it's hidden
...
Avoids an infinite(?) loop and endless "[Violation] 'setTimeout' handler took <N>ms" messages
2020-08-31 14:06:18 -06:00
nathangray
1ad5d321a4
Etemplate: Fix double duration format in timesheet nextmatch header
2020-08-28 13:53:23 -06:00
nathangray
6b5414904f
Remove workaround, fix 3 second refresh
2020-08-26 14:39:39 -06:00
nathangray
a013d78947
Partially revert 26a6749
as it's been handled elsewhere
...
(030dafc0a7c9bdc6677afe87fa69615068acb4c0,d525347275a2268ed9624d35ddbd4e43a345179d)
2020-08-26 13:47:11 -06:00
nathangray
075c44a48b
Etemplate: Don't try to delete row if it's not in the nextmatch
2020-08-26 11:24:15 -06:00
nathangray
d525347275
Fix nm displayed row count was not updated when adding a row.
...
This seems to have resolved the issue of the last row going missing.
2020-08-26 09:26:18 -06:00
nathangray
030dafc0a7
Etemplate: Fix some nm / push bugs
...
- Handling for sub-grids
- Fix some index issues in selectionMgr causing rows to jump around
2020-08-25 15:57:20 -06:00
nathangray
8cd05c571b
Add debug function to log selected nextmatch internals
...
Example usage:
etemplate2.getByApplication('addressbook')[0].widgetContainer.getDOMWidgetById('nm').spillYourGuts()
2020-08-25 14:01:31 -06:00
Hadi Nategh
6c9e83b38a
Fix set column not working because of using wrong constant variable
2020-08-20 16:47:38 +02:00
Hadi Nategh
71605c0c14
* All Apps: fix print list column selection does not contain customfields
2020-08-20 16:18:39 +02:00
Hadi Nategh
d48efdedd8
Make commit 26a6749b3d
condition available only for refresh add
2020-08-20 15:19:15 +02:00
Hadi Nategh
f63a0a6075
Fix radiobox widget calling onchange event infinitely
2020-08-18 13:20:29 +02:00
Ralf Becker
26a6749b3d
* All apps: fix last rows was removed when adding new entry to list with only a couple of rows
...
see ticket #48204 , we do a full refresh now to work around this issue until we have a real fix
2020-08-17 12:15:40 +02:00
Ralf Becker
e3434b144d
fix sometimes not deleted infologs ("0 selected"), because global var got deleted, using now a closure as for the action
2020-08-16 11:22:16 +02:00
Hadi Nategh
8bbb05a596
Fix clear button in search widget disappears after being reloaded
2020-08-14 13:35:30 +02:00
Hadi Nategh
31241227e1
* File Sharing: fix broken file sharing dialog
2020-08-13 14:35:09 +02:00
Hadi Nategh
fe47a2af28
A temporary fix for commit 471741ce12
which breaks nm row update with auto refresh enabled
2020-08-12 12:04:03 +02:00
Hadi Nategh
06e770f469
Fix nm filter onchange no longer sending expected nm widget
2020-08-11 15:45:40 +02:00
nathangray
036ec20769
Fix some nextmatch bugs
...
- Removed rows could still have jQuery actions bound, resulting in errors
- Focused row was not cleared if it was removed, resulting in errors
- Fixed double get_rows call on refresh(..., update)
2020-08-08 10:51:39 -06:00
nathangray
afec14a17e
Fix removing a nm row did not re-index
...
This caused duplications or holes depending on what you did before or after
2020-08-07 14:12:30 -06:00
nathangray
ff35f58f73
Change addressbook group / template on client side, not server side
...
Fixes the issue where the nextmatch_controller is part of the context for the request, but the first thing set_template() does when the server tells the nextmatch to change the template is destroy the controller. This means that when the data is parsed, the context is missing or damaged.
2020-08-07 13:18:41 -06:00
nathangray
bec67d63ee
Etemplate: Change how nextmatch handles update & refresh push messages
2020-08-07 09:19:15 -06:00
nathangray
dadf0fe993
Etemplate: Fix et2_selectAccount legacy options were not set
2020-08-06 16:39:59 -06:00
nathangray
29b22e336e
Fix CRM view did not add new infolog entries on push
2020-08-06 12:49:33 -06:00
nathangray
2cf0e7732d
Fix update was doing full refresh, changed back to previous behaviour
...
Left 'update-in-place', as discussed, as it's way more clear what it does.
2020-08-06 09:14:41 -06:00
nathangray
faed2f97d4
Etemplate: Add et2_nextmatch.set_disable_autorefresh() to change it dynamically
2020-08-06 08:40:41 -06:00
Hadi Nategh
e3c356b2c2
Add missing compiled js file from commit 13ed300c9c
2020-08-06 10:37:56 +02:00
nathangray
fba4323765
Etemplate: add disable_autorefresh attribute to nextmatch to be able to disable autorefresh
2020-08-05 11:21:33 -06:00
nathangray
13ed300c9c
* Etemplate: Fix entry widget had wrong ID, so was missing value
...
Typescript conversion error
2020-08-05 10:36:42 -06:00
nathangray
88b7bccdb9
Etemplate: Password suggest now works if started disabled then enabled via JS
2020-07-30 13:50:12 -06:00
nathangray
5379a0c924
Home using non-global EgwApp instances for portlets
2020-07-30 13:00:53 -06:00
nathangray
80b72bfb3c
Etemplate: Fix password widget did not disable suggest dynamically
2020-07-30 09:21:40 -10:00
nathangray
471741ce12
Etemplate: Update controller indexMap when adding a new row
...
Fixes deleting former top mail that got moved down by a pushed new mail removed both newly added and the selected mail
2020-07-29 13:20:09 -06:00
Ralf Becker
08acad038c
* Mail: replying to a mail should only update icon, not move it to top of list
2020-07-29 13:58:15 +02:00
nathangray
bd8b99f8c1
Try to fix up password with respect to autofill
2020-07-28 10:39:16 -06:00
nathangray
59cd2dcded
Etemplate: nm.refresh() with type 'edit' no longer always fully reloads all rows, it now behaves the same as 'update'
2020-07-27 14:07:15 -06:00
nathangray
77a413b66b
Etemplate: Fix isDirty() was always false for multi-select (tracker selection)
2020-07-27 13:44:11 -06:00
nathangray
b6e47f9b11
Etemplate: Password widget now auto-updates the second 'confirm' password if you have two and suggest a password.
2020-07-23 13:56:14 -06:00
nathangray
3e9794e526
Etemplate: Do not bother to resize hidden etemplates
...
Fixes Admin > App > Site config gets resized incorrectly when switching to another app's tab & back
2020-07-22 15:51:42 -06:00
Ralf Becker
4b9be2876e
fix new mail rows appear no unseen
2020-07-22 21:32:48 +02:00
nathangray
a6688ab3f8
Etemplate: Allow app to specify a new row index for updated rows as well.
2020-07-22 12:00:01 -06:00
Ralf Becker
32043f7a41
trigger full refresh / applyFilters, if app refresh_add returns false
2020-07-22 16:58:40 +02:00
nathangray
32b061919f
Etemplate: Change default for password widget suggest to off
...
Customfields still default to on
2020-07-21 15:36:45 -06:00
nathangray
f0b924008b
Etemplate: Add a callback so apps can decide where to put new push rows
2020-07-21 15:32:22 -06:00
Ralf Becker
8e213a7de5
set id of DOM container, in case server-side returned a different eTemplate
2020-07-21 22:05:08 +02:00
nathangray
bd6b20bae8
Fix home cannot find its portlet templates
...
This reverts commit ff0cdf8143
.
2020-07-20 14:34:10 -06:00
nathangray
69420c19ad
Api: Handle add push messages in the nextmatch list
2020-07-20 13:43:26 -06:00
Hadi Nategh
fcd7a77c44
Fixing none app static functions stopped being called relevant to commit 52eb5ca8e0
2020-07-15 11:01:34 +02:00
Hadi Nategh
b29cce05be
Fix searchbox no longer works in mobile template
2020-07-14 12:17:15 +02:00
nathangray
31b7c49fd3
Etemplate: Avoid error if sender is not passed
2020-07-10 13:30:47 -06:00
nathangray
af4fcd7a2d
Etemplate: Avoid trying to process regexes by checking for end anchor
2020-07-10 13:27:48 -06:00
nathangray
13842ffb79
* Infolog: Add filter by contact to export filters
2020-07-10 13:13:04 -06:00
nathangray
510a6419c5
Etemplate: Avoid error if file_data.mime is false for some reason
...
(file missing)
2020-07-10 11:11:05 -06:00
Hadi Nategh
146cba903b
Add missing part from commit 4c7709d49f
2020-07-10 13:16:50 +02:00
nathangray
4fc02fbe20
Etemplate: Fix searchbox did not properly manage child DOM nodes
2020-07-08 14:34:50 -06:00
nathangray
9cb143d0d3
Etemplate: Prevent dialogs from destroying parent's request
2020-07-08 11:01:05 -06:00
Ralf Becker
34cbc6880a
step attribute for number widget
2020-07-06 18:24:07 +02:00
nathangray
4c7709d49f
Etemplate: Get vfsUpload values to use expose so they work like links
2020-07-03 14:23:41 -06:00
nathangray
e80c118aa8
Etemplate: Replace resetDirty(), it's needed for IInput interface
2020-07-02 11:19:11 -06:00
nathangray
7278b30ff0
Actually set the default cf prefix so everything works.
2020-07-02 09:40:09 -06:00
nathangray
5958feb1c3
Etemplate: add customfield prefix as an explicit attribute, importexport filter was using it
2020-06-30 10:43:41 -06:00
nathangray
57d03110e4
Etemplate: If long task response is an object, stringify the object so we can see what it says
2020-06-29 14:08:02 -06:00
nathangray
b057f95a5a
Close confirm improvements & fixes
...
- Toolbars are now always not dirty
2020-06-29 13:23:17 -06:00
nathangray
10846271f1
Close confirm improvements & fixes
...
- nextmatch is now always not dirty
- Logging the dirty widgets to console
- Fix searchbox did not fully doLoadingFinished()
2020-06-29 11:55:35 -06:00
nathangray
a50ede7967
Avoid errors from close confirm changes if button is not fully created.
2020-06-29 10:54:14 -06:00
nathangray
175c1fe369
Fix selectbox resetDirty()
2020-06-25 10:31:48 -06:00
Hadi Nategh
8863f28e37
Revert it because it has caused a weird issue regarding our nextmatch filters
2020-06-25 14:17:00 +02:00
nathangray
143be4dc98
Etemplate: Cancel buttons do not trigger the change/close prompt
2020-06-24 10:37:57 -06:00
nathangray
74284afc07
Fix htmlarea.isDirty() was using the pre-editor initialization value causing it to always be true
2020-06-24 09:58:18 -06:00
nathangray
10b2eda4ac
Fix bug in isDirty() causing error for some widgets, which broke onbeforeclose
2020-06-24 09:40:35 -06:00
nathangray
03e08be0e6
Etemplate: Changing the tab doesn't count as making any data dirty
2020-06-23 13:37:31 -06:00
nathangray
52714f0a63
Etemplate: Check dirty before closing, ask if there are changes
2020-06-19 13:27:41 -06:00
Hadi Nategh
b95e9be02a
Cleanup widget browser
2020-06-18 14:58:24 +02:00
nathangray
31f20d9783
Etemplate: Fix history widget lost some widgets when converted to TypeScript
2020-06-16 10:58:03 -06:00
nathangray
b56a8f9901
Default password customfield plaintext attribute to false
2020-06-16 09:23:54 -06:00
Ralf Becker
2c489ef5b8
change default for password attribute plaintext back to true, to not break every existing usage of that widget
2020-06-16 08:37:51 +02:00
nathangray
d7d5837ecf
Nicer password widget on account edit dialog
...
- Added plain-text attribute to avoid encrypting password
- Suggest password now fills both fields the same
2020-06-15 16:08:24 -06:00
nathangray
8020464dde
Fix column could not be found due to wrong IDs used
2020-06-15 11:42:45 -06:00
nathangray
fb27dc66da
* Etemplate: Password widget improvements - suggest password button, added as custom field type (stored encrypted)
2020-06-12 11:03:42 -06:00
nathangray
aab5415873
* Etemplate: Password widget improvements - suggest password button, added as custom field type (stored encrypted)
2020-06-12 10:56:53 -06:00
nathangray
a993938134
Etemplate: Fix VFS & file widgets were not properly handling files
2020-06-10 10:20:30 -06:00
Hadi Nategh
06d6887744
Fix error select-account widget is not supported in et2_menulist widget
2020-06-10 13:32:33 +02:00
nathangray
676be91387
Etemplate: Fix TypeScript conversion error in historylog widget
...
Legacy options could not be accessed
2020-06-09 15:21:34 -06:00
nathangray
03a5620ea9
Api: Fix nm columns disabled via content could break subsequent columns, giving JS error
...
"Uncaught TypeError: Cannot read property 'getAttribute' of undefined"
2020-06-09 13:56:52 -06:00
Ralf Becker
ff0cdf8143
set id of DOMContainer, in case it changed because server-side send a different template
2020-06-04 17:04:32 +02:00
Ralf Becker
25615d7ee0
fix not working file upload, if not mime-type specified
2020-06-02 18:53:33 +02:00
Hadi Nategh
1a91dfab7d
Fix not working regexp mime type attribute in file widget
2020-06-02 14:39:43 +02:00
nathangray
ce393e0803
Remove et2_types
2020-05-29 11:21:17 -06:00
Hadi Nategh
bf1ed9a0d6
Remove type restriction for getEntry, the data send to client could have all sort of types
2020-05-27 11:11:06 +02:00