nathan
d23b7c1a51
Link fixes
...
- Enable link webcomponents in etemplate.php
- Fix widget ID got overwritten
- Put title into light DOM for easier styling
- Styling
2022-05-11 15:10:09 -06:00
nathan
875a3996aa
WIP on Et2LinkList, should be working now
2022-05-11 14:00:23 -06:00
nathan
b735b0f218
Fix Et2Description.ts appeared the same if you changed its value via JS
2022-05-11 13:58:01 -06:00
nathan
b88267160e
WIP on Et2LinkList
2022-05-11 10:35:47 -06:00
nathan
07ced8046d
WIP on Et2Link & Et2LinkString
2022-05-11 10:35:47 -06:00
ralf
8d29ad1841
more cleaning up commented out code
2022-05-11 16:16:50 +02:00
ralf
53d9abcbd9
cleaning up the TinyMCE code a bit now
2022-05-11 15:51:26 +02:00
ralf
b7d3b7408e
WIP get TinyMCE to respect users preferred font and -size
2022-05-10 18:46:12 +02:00
ralf
5791ef0117
trying "harder" to set users default font and -size in TinyMCE
2022-05-09 18:37:56 +02:00
nathan
66ee3687b6
Fix widgets couldn't change statustext once set
2022-05-09 10:02:07 -06:00
nathan
daa324e948
Fix button wouldn't give its image
2022-05-09 09:59:13 -06:00
Hadi Nategh
87f77a52ea
Fix seek to a new time in youtube video does not work when pause action happens instantly after it
2022-05-09 11:25:33 +02:00
ralf
e82387c15e
adding automatic conversation to et2-vfs-mime, fix gallery indicators to use images again and some CCS fixes
2022-05-07 13:31:46 +02:00
nathan
816ab87f13
Et2VfsMime added as WebComponent
2022-05-06 15:07:07 -06:00
nathan
797c615060
Move Et2Box into Layout
2022-05-06 11:57:53 -06:00
nathan
5a324e448a
Define some system-wide CSS variables that can be used anywhere, set error color
2022-05-06 11:49:30 -06:00
nathan
ca563cf8fb
Use the same style for webcomponent validation messages as legacy messages, update both to latest webcomponent style.
2022-05-05 15:40:28 -06:00
nathan
063c772fbb
Et2DescriptionExpose, used in Mail app
2022-05-05 13:48:39 -06:00
ralf
7dc959c223
automatic convert <(image|description) expose_view="true" to <et2-*-expose
2022-05-05 19:07:44 +02:00
nathan
632c40fbb7
Et2ImageExpose, used in Resources app
2022-05-05 08:51:48 -06:00
Hadi Nategh
a8bcdd88b0
Get rid of jQuery.Color from jquery-ui
2022-05-05 15:55:49 +02: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
efcd5bbe51
Et2ImageExpose
2022-05-04 17:31:42 -06:00
nathan
3c6c2aec1a
Don't break everything if something goes wrong cloning webcomponent for nm row
2022-05-04 17:27:58 -06:00
nathan
54b2ac54b1
Start on Expose mixin
2022-05-04 11:58:04 -06:00
Hadi Nategh
eecad5f70f
Set back focus to the first field in form
2022-05-04 14:14:48 +02:00
Hadi Nategh
9cdfc93a52
Fix stolen focus on egw input fields
2022-05-04 12:50:29 +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
Hadi Nategh
ed5e7414ac
* Mail: Fix htmlEditor does not include styling on each tag causing mail content sent with no styling
2022-05-03 15:43:03 +02:00
ralf
f72497db13
HistoryLog: use new Et2DateTimeReadonly widget
...
thought set_value of web-component get not called and nothing is displayed therefore
2022-05-03 11:26:55 +02:00
nathan
215dc21ec5
Avoid error if label is missing
2022-05-02 17:43:10 -06:00
nathan
bbb6444dce
If caller wanted to iterate over all et2_widgets (default), include all Et2Widgets as well
2022-05-02 17:41:35 -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
ralf
3777ba7691
fix not working callback syntax with egw.jsonq() and changing callback to promise (after the fix)
2022-05-02 16:22:12 +02:00
ralf
dc784800b7
loading new Et2Date* instead of dropped et2_date* widget, thought r/o variants in nextmatch are still not working
2022-05-02 13:53:24 +02:00
ralf
21def67f83
fixed a couple more calls to egw.link_title() without 3rd parameter
2022-05-02 11:43:51 +02:00
ralf
74ad3ba7b0
change egw.jsonq() and egw.link_title() to return promises
...
* egw.jsonq() now always returns a promise like egw.request(), still supporting old callback syntax
* egw.link_title(_app, _id, _callback, _context, _force_reload) supports boolean values for _callback (to not break existing code)
- false: just a cache lookup (like current call with just 2 parameters), returning null, if no title is cached, or the title
- true: always return a promise, which might already be resolved, if title was cached
- function: also returns a promise and calls the callback
--> calling egw.link_title(_app, _id) without 3rd parameter is deprecated now (gives a console.trace), to be changed in future to always return a promise, unless called with false, to just return a cache-lookup
* Et2SelectAccountReadonly and et2_link_widget is changed to use the new/updated syntax with promises
2022-05-02 11:27:33 +02:00
ralf
e4c2432f4c
replace jQuery.ui.keyCode.X with EGW_KEY_X
2022-04-30 10:33:07 +02: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
nathan
de2dade286
Et2SelectReadonly: Make sure we're dealing with string value
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
ralf
ef7c175814
remove jQueryUI DateTime picker and splitter and use them also for eTemplates marked as legacy
2022-04-29 17:05:43 +02:00
Hadi Nategh
c707af32b6
Add hideOnEscape and noCloseButton options into ET2Dialog
2022-04-29 14:28:43 +02:00
nathan
63b2755dbf
Et2Date: Add localization
2022-04-28 15:46:39 -06:00
Hadi Nategh
36f41a9470
Handle appendTo attribute used in legacy dialog properly
2022-04-28 18:00:37 +02:00
nathan
278f75546a
Fix submit proceeded even if legacy widget failed validation
2022-04-27 11:56:03 -06:00
nathan
1c42668a97
Change sidebox calendar from jQuery to webcomponent / flatpickr
2022-04-26 15:27:49 -06:00
nathan
0017b78b53
Et2Date: Add support for inline dates & passing a format to parseDate
2022-04-26 15:24:58 -06:00
Hadi Nategh
fcf195cf47
Fix toolbar menulist doesn't get closed after clicking away from it
2022-04-26 14:53:01 +02:00
Hadi Nategh
a835d5bc6e
WIP replacing jQuery-ui: fix et2_toolbar styling with new details tag
2022-04-26 11:18:43 +02:00
nathan
7d86272b28
CSS / Layout cleanup
...
- Fix select with tags=true causes hidden WebComponents to display
Chosen wants to do sizing calculations which wasn't working properly on w.c.
2022-04-25 10:46:51 -06:00
Hadi Nategh
ca794817eb
WIP replacing jQuery-ui:
...
- Replace accordion with html details
2022-04-25 17:24:29 +02:00
nathan
65c683b9a2
Change styling on validation messages
2022-04-25 08:47:12 -06:00
nathan
aafbc58cdd
Validation message styles
...
- Changed to absolute position to avoid reflow
- "Better" style
2022-04-22 16:07:57 -06:00
nathan
4f17302bb1
CSS / Layout cleanup - better autosize
...
- More consistent sizing/position for invoker
2022-04-22 15:22:31 -06:00
nathan
ec8b32c01d
CSS / Layout cleanup - better autosize
...
- let things inside box shrink, actual widget can decide minimums
- Slotted inputs take up full width by default
- More consistent sizing/position for invoker
2022-04-22 15:21:46 -06:00
nathan
f8f04071be
CSS / Layout cleanup
...
- Remove margin from input,button,select
- Fix some spacing issues
- Switch selects from display:inline-block to display:block so they take up all parent's space
- Let background (required) color show through select tag
- Some layout tweaks on mail account template
2022-04-22 13:07:22 -06:00
nathan
6feb9f468a
Handle missing nextmatch controller when setting up auto-refresh by trying again later.
...
(Missing controller caused by new template loading)
2022-04-22 10:52:16 -06:00
nathan
f18dd19536
Et2Split: Make bar darker on hover
2022-04-22 10:46:41 -06:00
nathan
166db3f4d2
Et2Description: Fix extra space while preserving line breaks
2022-04-21 10:41:30 -06:00
nathan
19ae591bdf
Et2Split: Add a background color to the splitter bar
2022-04-21 09:09:59 -06:00
nathan
416136dc24
Et2Description: Fix missing styles from extending classes (Et2Url) while also keeping decrypt on hover working
2022-04-20 16:23:53 -06:00
nathan
234684061d
Et2Split: Bugfixes
...
- better handling of nested dynheight
- handling orientation property
- avoid resizing when not visible
2022-04-20 14:15:49 -06:00
nathan
94f843cd50
Et2Widget: Add modifications in when transforming attributes
2022-04-20 14:09:45 -06:00
nathan
ce14c1c9f6
Et2Split: Convert splitter to webcomponent
2022-04-19 09:36:44 -06:00
nathan
44c8b2f372
Et2Widget: More complete handling of child object styles property when it is missing
2022-04-19 09:31:10 -06:00
nathan
18f6d1ee0b
Et2Image: Fix "TypeError: this._imageTemplate is not a function"
...
I'm not sure how that happened. Autocorrect?
2022-04-14 08:50:34 -06:00
nathan
748e2ee70e
Et2Image: Use slotted image so most CSS still works
2022-04-13 10:37:55 -06:00
nathan
0d6d18e3fa
Et2Image: Show as clickable if image has href OR onclick
2022-04-13 08:34:24 -06:00
nathan
0f362f9717
Put Et2Description content into light DOM to fix decrypt on hover
2022-04-12 16:28:36 -06:00
nathan
319bd51f80
Et2Image bugfixes
...
- No src or default_src gives nothing, not missing image
- Fix etemplate.php parser so buttons that get converted to images still submit
2022-04-12 10:00:43 -06:00
nathan
e3be42721e
Fix Et2Image did not double-transform src for as legacy image did
...
eg:
if $content[0][type] = "group"
${row}[type] => "0[type]" (single transform)
0[type] => "group" (double transform)
Also, fix type from addressbook list to not need double-transform
2022-04-11 15:03:24 -06:00
nathan
6ed888a80e
Fix missing Et2Image label
2022-04-11 13:38:24 -06:00
nathan
49d40c18e8
Set nextmatch as parent so newly cloned webcomponents in nm row have it before we start setting properties.
...
Fixes egw.image() not having correct app.
2022-04-11 11:21:39 -06:00
nathan
77a11cb5fe
Fix image src not getting set
2022-04-08 14:03:29 -06:00
nathan
2ba299f876
Change buttons that used to be just an image to be just an image
...
- Remove Et2ButtonImage, it's not needed. Buttons without labels look the same
- Add Et2Image to take its place
- Change etemplate modifier to use Et2Image for buttononly
- Some styling for mail account placeholder button
2022-04-08 13:03:20 -06:00
nathan
70c5cedec7
Better styles for disabled buttons
2022-04-07 16:45:24 -06:00
nathan
3f86e98257
Deal with et2-button-image showing label
2022-04-07 16:24:45 -06:00
nathan
911a2970b0
Et2Dialog: Turn on modal now that style issue is fixed
2022-04-06 15:13:51 -06:00
nathan
d1b5c796dd
Expand super.styles
2022-04-06 15:12:39 -06:00
nathan
22ae7fbf89
Use Et2Button.noSubmit instead of Et2Button.doSubmit
2022-04-06 15:08:18 -06:00
nathan
54ea13bfa8
Et2Widget: Fix the missing style property
...
... by not overriding it
2022-04-06 15:06:25 -06:00
nathan
3c28d4b9a9
Et2Button: change doSubmit (default false) to noSubmit (default true) because of nextmatch complications with boolean properties
2022-04-06 14:48:57 -06:00
nathan
e68e125a0a
Add accesskey property
2022-04-05 10:09:49 -06:00
nathan
57e231aced
New Et2ButtonImage that shows only image
...
Also doesn't stretch like the others do.
2022-04-05 09:15:08 -06:00
nathan
a763b84be4
Et2Button properties hideOnReadonly, noValidation
...
Added hideOnReadonly, default false. Disabled/readonly buttons are now visible but disabled, unless you set hideOnReadonly="false" to get previous behaviour.
Added noValidation, default false. It's just passed to etemplate2.submit() as before
2022-04-04 16:24:01 -06:00
nathan
17834f1be8
Fix nextmatch changing value back before it could be submitted
2022-04-01 14:52:40 -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
ralf
9e8b291201
calling etemplate2.submit(,,no_validation=true) caused no submit (as invalid is no promise, but null)
2022-04-01 21:28:25 +03:00
ralf
b2a85e68b8
fix vfs-path widget to correctly deal with smallPART paths (hierarchical structure inside entry directory)
2022-04-01 21:00:45 +03:00
nathan
0c8824c496
Fix addressbook contact type filter was sometimes 'D' after being initialized to 'n'
...
When nextmatch moved the template in the DOM, we were re-adding already existing options which re-set the value.
2022-04-01 11:12:19 -06:00
nathan
9cd746f0b4
Fix missing nm filters
2022-03-31 08:46:36 -06:00
nathan
6120d820aa
Change to Et2Dialog
...
- History diff
- Fix some bugs in placeholder widget
- Change load listener target, the dialog content node might have been moved out before the event gets triggered
2022-03-30 15:11:15 -06:00
nathan
bfdb53b1cf
Change over some more dialogs
2022-03-30 13:24:52 -06:00
nathan
763ed85668
Fix splitter widget did not restore size from preference
...
Two problems:
1. Preference was stored as percent which splitter did not like to load directly
2. Etemplate was triggering the final finish-up, which triggered resize(), which stored the default as preference before the splitter got to its _init_splitter(),
2022-03-30 09:09:33 -06:00
nathan
632ab571db
Fix nextmatch webcomponent children stalled etemplate load, preventing et2_init() from being called.
2022-03-30 08:30:25 -06:00
ralf
e7dc51ad14
Revert "Fix splitter widget did not restore size from preference"
...
This reverts commit e8635be8c1
.
2022-03-30 10:21:22 +03: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
nathan
e8635be8c1
Fix splitter widget did not restore size from preference
...
Two problems:
1. Preference was stored as percent which splitter did not like to load directly
2. Etemplate was triggering the final finish-up, which triggered resize(), which stored the default as preference before the splitter got to its _init_splitter(),
2022-03-29 09:17:04 -06:00
nathan
13d1289910
Dialog / button fixes
...
- Get dialog contents visible in Firefox
Something in how Firefox parsed or inserted the style and children caused an error:
Node.insertBefore: Child to insert before is not a child of this node
which caused the dialog contents to be missing from the shadow DOM. This fixes the missing contents by putting the style in using a different way.
2022-03-28 11:29:21 -06:00
nathan
f714729c26
Dialog / button fixes
...
- Fix vfsSelect did not close (seen in collabora save as)
- Turn off destroy_on_close, vfsSelect was destroying opening session (seen in mail compose 404)
- Add doSubmit property to Et2Button, dialog no longer gives error on every button click
2022-03-25 09:55:02 -06:00
ralf
55da72a661
replace jQuery.Deferred with regular Promise
...
trying to fix not working restore of splitter size in mail, thought it did NOT help in that regard :(
2022-03-25 10:02:14 +02:00
nathan
467e2ca8e2
Fix some bugs in nextmatch dialog action
...
Wrong action was used, leading to an error. Plus, it kept a copy of the nextmatch in memory across the reload.
2022-03-24 14:48:02 -06:00
nathan
21da0b067a
Get vfsSelect dialog working again
2022-03-24 13:01:41 -06:00
nathan
5e2b690b2a
Et2Dialog Increase min-width
2022-03-24 11:41:29 -06:00
nathan
67dba61ef6
Et2Dialog changes
...
- dialog can now adopt buttons from the template. Preferrably set slot="buttons", but it'll find them anywhere if you don't
- Reduce size & padding for non-template content
2022-03-24 11:21:32 -06:00
nathan
38a3af6981
Set modelValue if the inputWidget has a _callParser() method.
...
This makes sure the internal modelValue is set when we call set_value(), and preserves value if the widget is re-connected (like Et2Dialog does)
2022-03-24 09:46:27 -06:00
nathan
53a7405a61
Et2Dialog: Adjust header style
...
added a line below header, title slightly larger, adjusted padding
2022-03-23 14:50:00 -06:00
nathan
be6b49ca21
Remove debugger
2022-03-23 14:48:45 -06:00
nathan
db27086fe5
Change another reference to et2_dialog in nextmatch
2022-03-23 13:43:23 -06:00
nathan
79fab93351
Fix missing button labels from legacy dialog
2022-03-23 13:42:12 -06:00
nathan
9693cfe538
Switch nextmatch print & select all to using Et2Dialog
2022-03-23 13:28:15 -06:00
nathan
db7c68bdc7
legacy dialog - Fix missing buttons
2022-03-23 13:22:14 -06:00
nathan
6d538f29f0
Fix legacy dialog gave error without parent
2022-03-23 13:02:12 -06:00
nathan
cdbdf53d46
Et2Dialog: Make sure value has a content before loading template, otherwise we get an error from etemplate2
2022-03-23 13:02:12 -06:00
Hadi Nategh
d13d039349
Fix Taglist new free entry replacing other selected options
2022-03-23 18:16:19 +01:00
nathan
f5c1e21ee8
Switch placeholder widget to using Et2Dialog
2022-03-23 11:01:36 -06:00
nathan
39baec10ab
Add some documentation to legacy dialog
2022-03-23 11:00:41 -06:00
nathan
2c92ddfe92
Et2Dialog: Fix template's DOMContainer ID still had .xet in it
2022-03-23 10:53:00 -06:00
nathan
85e247d4d6
Legacy dialog
...
- Fix load event was not bubbling through to the listener
- Fix value was missing
2022-03-23 09:50:11 -06:00
ralf
2f616281e0
fix click eg. in mail on attachment as long as we have no blueimp/expose
2022-03-23 15:26:16 +02:00
nathan
3c4f85155d
Get legacy et2_dialog working with createWidget()
2022-03-22 17:21:59 -06:00
nathan
56ed4e1267
Et2Dialog: Fix incorrect properties declaration
2022-03-22 17:19:53 -06:00
nathan
322fa3c8f4
Get nm_action dialogs working
2022-03-22 15:49:42 -06:00
nathan
8a033b6b9a
Fix sometimes missing namespace causing some child widgets to have their value in the wrong place
2022-03-22 15:46:39 -06:00
Hadi Nategh
f4e877bcdf
Adapt vfs dialogs with new Et2Dialog widget
2022-03-22 12:50:42 +01:00
nathan
ff274c2bc8
Et2Dialog changes
...
- Add some margin, border & box-shadow
- Smaller header & close button
2022-03-21 14:51:43 -06:00
nathan
b600059b68
Et2Dialog changes
...
- improve documentation
2022-03-21 09:52:09 -06:00
nathan
ff471946b5
Make et2_widget_dialog a stub that extends Et2Dialog so 3rd party apps might still work
2022-03-21 09:50:58 -06:00
Hadi Nategh
10453c41e3
Give maximum available height to BOX's parent node
2022-03-21 16:21:55 +01:00
nathan
e9a381da69
Et2Dialog changes
...
- Set template's DOM ID so CSS can style it
This is the best way to set [minimum] dimensions, though you can set width & height on the Et2Dialog.
2022-03-21 08:46:03 -06:00
Hadi Nategh
d7400503ac
Use data value instead of index for close/edit handling as indexes might get change
2022-03-21 14:13:45 +01:00
nathan
9e989596c2
Et2Dialog changes
...
- Fix Et2Dialog.show_prompt() incorrectly returned too much, should be just the prompt value
2022-03-18 14:40:54 -06:00
ralf
a45d26511b
fix not set invoker for expand_multiple_rows attribute
2022-03-18 22:26:15 +02:00
nathan
fefc822d9c
Et2Dialog changes
...
- Fire a close event on close
- When closing, clear the template (if present)
2022-03-18 14:05:57 -06:00
Hadi Nategh
53ecdba510
WIP Et2Taglist: trying to get allowFreeEntries feature working
2022-03-18 19:13:30 +01:00
ralf
5650e8c616
ignore click action for an empty value
2022-03-18 09:53:09 +02:00
nathan
255add7d98
Api: Switch from et2_dialog to Et2Dialog
...
Might be some I missed or can't change just yet
2022-03-17 16:18:39 -06:00
nathan
0479671ac4
Et2Dialog changes
...
- implement Et2Dialog.long_task()
- change to use Et2Dialog._buttons.label instead of Et2Dialog._buttons.text for better consistency
2022-03-17 15:21:15 -06:00
nathan
4fd50db1c3
Et2Dialog - only try to add an image to button if one is specified
...
Avoids error in button set image()
2022-03-17 13:06:29 -06:00
nathan
56571c6fc7
Et2Dialog changes
...
- Fix some event listeners
- Add getCompleted() promise that resolves when the dialog closes.
- Et2Dialog.alert() returns the promise directly, other static methods return the Et2Dialog to avoid breaking existing code
You can now wait for a dialog with:
Et2Dialog.show_prompt(null,"Name?").getComplete().then(([button_id,value]) => console.log(value));
or using async:
[button_id, value] = await Et2Dialog.show_prompt(null,"Name?").getComplete();
if(button_id === Et2Dialog.BUTTON_OK) {...}
2022-03-17 13:03:47 -06:00
ralf
ee36e83cbb
fix Et2Date.set_value('') did not clear
2022-03-16 23:21:15 +02:00
ralf
b9cca9c5ff
using set/get select_option plus a set_selection_options marked as deprecated
...
- get_select_options seems to be nowhere in use, so I did not implement it
- Et2Select* widgets with static options assign them in their constructor (like the r/o ones)
- removed a jQuery.proxy call, which we dont want in new code
2022-03-16 22:36:43 +02:00
nathan
5fdc594d00
Get templates working in Et2Dialog
2022-03-16 13:53:50 -06:00
nathan
c120f13466
Get separate egw object & some styling sorted out
2022-03-15 14:10:53 -06:00
nathan
ed72d63522
Add missing label property
2022-03-15 13:48:58 -06:00
Hadi Nategh
5dd67f2d3d
Fix alarm not being fired sometimes
2022-03-15 18:56:47 +01:00
Hadi Nategh
1d559e9263
Allow multiple alarms being set for countdown widget
2022-03-15 16:58:05 +01:00
ralf
89ebb61f76
implement full_email attribute for et2-url-email with changed default of false
2022-03-15 14:39:42 +02:00
ralf
7a749a8f54
fix instead of all only last option was selected sometimes
...
because multiple property was not yet synced to DOM node
2022-03-15 11:43:55 +02:00
nathan
2c1f9b2579
WIP on dialog
...
You can try it with
et2_dialog.show_dialog(null, "This is the message", "Title")
2022-03-14 17:07:25 -06:00
ralf
293e9f2fc6
Implement multi-select value as string[] or comma-separated
...
Had to overwrite some formMixin methods, which considered everything not string as invalid and set/get value to do the right thing for multi-select
Not sure if code should go to Et2WidgetWithSelectMixing to be shared with TagList ...
2022-03-14 21:13:47 +02:00
ralf
940e1b12c1
Implement expand_multiple_rows attribute for Et2Select using Et2InvokerMixin
2022-03-12 14:49:25 +02:00
nathan
4cf4c5090a
Remove extra image declaration, now using auto-generated internal image property
2022-03-11 14:36:50 -07:00
Hadi Nategh
3705448aff
Fix filemanager's view no longer works
2022-03-11 14:22:04 +01:00
ralf
dd7ebad1e7
Implement et2-select-account
2022-03-10 20:20:32 +02:00
ralf
6ebd09b275
size and align icons for url-widgets
2022-03-10 18:14:28 +02:00
Hadi Nategh
1be92b5b61
Style MixinInvoker widgets
2022-03-10 15:39:54 +01:00
ralf
9285b87a92
implement multiple attribute for et2-select reflecting it to selectbox
...
fixing TypeError set_multiple is not a function
2022-03-10 15:48:27 +02:00
ralf
0099b094b9
Fix TypeError: Cannot set property options
2022-03-10 14:57:00 +02:00
ralf
782958d7fc
Fix/remove email validator and implement trailing_slash attribute
2022-03-10 14:26:06 +02:00
ralf
ebaebf65ca
Implement et2-url-* incl. r/o
...
ToDo: implement allow_path and trailing slash attributes for et2-url
2022-03-10 10:15:59 +02:00
nathan
f34d7f4d9c
Solution for boolean attributes that need row data: Use the default but hold on to the value that couldn't be parsed, defer processing until later.
2022-03-09 14:23:45 -07:00
nathan
944c0ad68e
Add disabled to detached attributes
2022-03-09 10:17:59 -07:00
nathan
4d25d2ea8b
Wait on parsing boolean attributes with ${row} if we're not actually in a row, same as string attributes.
...
Fixes boolean attributes don't follow $row values
2022-03-09 10:16:40 -07:00
nathan
d8517edafa
Fix template load failed if it didn't had a template to load, now just resolving quietly.
...
Fixes calendar sidebox integration stalled eTemplate load
2022-03-09 09:02:36 -07:00
Hadi Nategh
7293b34493
Fix broken egwActionObject import, import statement being removed accidentally in f7f4053d1a
2022-03-09 11:21:06 +01:00
ralf
5fd4423775
fix indention making debugging wired otherwise
2022-03-09 09:43:39 +02:00
nathan
f7f4053d1a
Swap Promise for jQuery.Promise in loadingFinished() & doLoadingFinished()
...
This lets us add LitElement's updateComplete Promise into the list of things to wait for, and solves the problem of app init code being run before widgets are complete.
https://lit.dev/docs/components/lifecycle/#reactive-update-cycle-completing
2022-03-08 15:11:32 -07:00
ralf
1b74f1f1a7
WIP URL widget for email and phone (not yet styled)
2022-03-08 20:20:06 +02:00
Hadi Nategh
e9fbc81565
WIP Taglist: implements get and set value
2022-03-08 16:19:03 +01:00
Hadi Nategh
7bdfceda87
WIP Taglist:
...
- fix dropdown menu not positioned correctly
- fix more styling
2022-03-08 09:24:18 +01: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
Hadi Nategh
db4d0295b8
WIP Taglist: implement edit buttton
2022-03-07 17:36:15 +01:00
nathan
1671e69603
Fix required dates gave missing error even if they had a value
2022-03-07 09:14:15 -07:00
Hadi Nategh
bb1e9d2c30
WIP Taglist:
...
- fix tag style
- fix close button
- allow to open menu when there's fixed sel_options
2022-03-07 16:32:39 +01:00
Hadi Nategh
285b71b6aa
WIP taglist: Fix backspace doesn't remove selected tags
2022-03-07 11:41:02 +01:00
ralf
f76ee3c920
forward min, max and step attribute to input node
2022-03-06 20:44:20 +02:00
ralf
4f93ceb16e
Implement et2-number(_ro) and preprocess <(textbox|float|int(eger)|number) type="float|int(eger)" to it in etemplate.php
...
.
2022-03-06 20:14:53 +02:00
ralf
3b896e0919
deprecated and replace attributes: needed-->required, blur-->placeholder in preprocessor
...
remove client-side code for them and enable translation of placeholder
2022-03-05 15:22:45 +02: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
4bd4402e28
Get taglist selected options showing up
...
Note the [internal] event listener bound in Et2Taglist.connectedCallback() that re-renders the TaglistSelection every time the taglist's [internal] value changes
2022-03-04 13:41:37 -07:00
nathan
2d3e3f86e1
Call requestUpdate() to pass on the new "multiple" value
2022-03-04 09:19:17 -07:00
nathan
4445b11a07
Make sure the option tag is included & registered as a webcomponent
2022-03-04 09:09:16 -07:00
Hadi Nategh
77a67d892b
WIP Et2Taglist wiget:
...
- Make the taglist a Lion-combobox
- Use templateOptions for different taglist types
2022-03-04 14:23:19 +01:00
nathan
1893a2c7fe
Fix duration in infolog list
2022-03-03 14:14:26 -07:00
nathan
aff71549a2
Move some code out of Et2Select into parent mixin for better re-use
...
Any child that has selectbox type functionality (extends Et2WidgetWithSelectMixin) needs to implement:
- _optionTargetNode() : HTMLElement
- _optionTemplate(option : SelectOption) : TemplateResult
2022-03-03 10:38:56 -07:00
nathan
882f2a913c
Implement regex validator
2022-03-02 14:22:19 -07:00
Hadi Nategh
d093a7648c
Remove unintentional committed ET2TaglistEmail file
2022-03-02 16:31:07 +01:00
Hadi Nategh
3112dc1399
WIP of Et2Taglist implementation
2022-03-02 16:28:45 +01: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
d7adf26ce6
Implement splitting up widget label using %s
2022-03-01 16:56:58 -07:00
nathan
7eca91e83a
Implement clearing manual validation error messages
2022-03-01 16:55:55 -07:00
nathan
3c9b9540e4
Fix copy/paste error - Et2DateDuration does not have an options property to access
2022-03-01 16:50:05 -07:00
nathan
00f7b51fbd
Hopefully prevent double-bind of input change
...
Should fix addressbook contacts/organisation filter
2022-03-01 15:15:24 -07:00
nathan
ae700fb391
Fix distribution list filter did not change filters when its value changed
2022-03-01 11:22:47 -07:00
ralf
5ff96e7818
fix last option select instead of empty label or any other option
...
eg. "shared by me" in Addressbook instead of "All contacts"
caused by this._inputNode not available when set_value was called
2022-03-01 18:29:13 +02:00
ralf
c70886f106
fix invalid can be null and then gives an error
2022-03-01 16:52:50 +02:00
ralf
36e3bd5de0
fix typo modalValue instead of modelValue to get validation (required) working
...
Had to overwrite formatter as it gave an error for accessing not yet set _inputNode
2022-03-01 16:51:40 +02: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
ralf
185e0eaf95
fix error, if widget has no change handler
2022-03-01 14:45:38 +02:00
Hadi Nategh
2d6770ebfa
Fix missing Et2WidgetWithSelect class
2022-03-01 13:31:13 +01:00
Hadi Nategh
08549e25da
Make Et2WidgetWithSelect a Dedup Mixin in order to make it available cross widgets
2022-03-01 12:35:33 +01:00
nathan
f8b1fcf412
Try and get nextmatch header change working with web components
2022-02-28 14:09:09 -07: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
ralf
9260f25476
fist option with value of 0 was not selected
2022-02-28 17:42:57 +02:00
ralf
eff1f10484
fix sometimes first non-empty label used for empty value
...
seems update got triggered before empty_label was set
2022-02-28 15:21:23 +02:00
ralf
e567a0d465
fix et2-select use first option, not just empty_lable, if value is not in options
2022-02-28 14:11:57 +02:00
ralf
cdb944147f
fix one left over needed property and added getter&setter for deprecated needed property
2022-02-28 12:12:04 +02:00
nathan
e166211a66
Fix required dates always failed as empty
2022-02-25 11:29:36 -07:00
nathan
44221f74ef
Get server-side validation messages displaying
2022-02-25 10:30:55 -07:00
nathan
e048b26235
- Deprecate "needed" attribute in favour of standard "required"
...
- Fix some required CSS
2022-02-25 10:21:16 -07:00
Hadi Nategh
08f45d32db
Fix onclick handling not working on description widget
2022-02-25 11:33:13 +01: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
nathan
ce84dd753a
Get validation messages working
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
f0455b2ad2
Show empty_label when given a value that is not in the list of options
2022-02-23 13:13:14 -07: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
ralf
c9f6c98a5d
fix color-picker to not throw errors or lose its value
...
it clearly need more love ;)
2022-02-23 10:38:31 +02: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
ralf
d23c8cbcb4
stub for set_validation_error to silence TypeErrors in app.ts
2022-02-21 16:56:30 +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
1776dd9005
Fix some readonly selectboxes were missing options
2022-02-17 16:37:59 -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
ralf
f29da5e613
fix TypeError with numbers not iterable
...
also problem with strings - thought no error - as they are iterated letter-wise, which is not what we want here
2022-02-16 10:35:09 +02:00
nathan
3ba1fe1416
Fix action pushed infolog edit dialog really wide
2022-02-15 14:01:07 -07:00
nathan
bc801f9c09
Fix missing import in et2 tests
2022-02-15 12:48:01 -07:00
nathan
7196455cbb
Add some colour variables
2022-02-15 11:51:23 -07:00
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