Commit Graph

2385 Commits

Author SHA1 Message Date
nathan
bb48e4ecee Select + search: don't try to open search when readonly 2022-06-24 14:27:49 -06:00
nathan
0f5cb9f9d3 Select styling improvements
- support for Shoelace's size property
- relative sizing for EmailTag's add icon height
2022-06-24 14:12:04 -06:00
nathan
9ffc7decf2 Shrink minimum size for date widget to fit-content, add label if set 2022-06-24 14:08:06 -06:00
nathan
d11be10fa1 Et2SelectEmail: Add button on hover to add a new contact with the email
(multiple)
2022-06-24 12:10:10 -06:00
nathan
9ca78de12f Et2Select: Fix empty label was not being shown for invalid values 2022-06-23 15:56:28 -06:00
ralf
8dd6dcf97c remove unnecessary adding of free entries to select_options 2022-06-23 21:28:01 +02:00
nathan
3567a75e33 Et2Widget: I figured out how to bind external listeners defined as template attributes directly on load.
Not sure we want to turn it on yet though.
2022-06-23 11:00:47 -06:00
nathan
1cc2cd5e3e Et2Select + Search: Fix change event fired while widget still had old value
The search box was firing its own change event, triggering the handler.  Now SearchMixin swallows that event preventing it from triggering.
2022-06-23 10:36:54 -06:00
ralf
f2e20eddba fix addressbook edit for new Et2SelectCountry&State:
- using allowFreeEntries for custom country-names and storing, as before, region-name not the -code
- also fix flags to show nothing for custom / free country-names
Not entirely happy about it, but not willing to spend/waste more time on this tiny feature
2022-06-23 10:06:01 +02:00
ralf
9157a37480 fix URL of flags.css include 2022-06-23 07:19:47 +02:00
nathan
9b3de5db95 Et2SelectCountry: Use CSS for flag images 2022-06-22 16:13:58 -06:00
ralf
e54fbaffb1 fix Et2LinkEntry/Et2LinkSearch still showed "??", after link_title returned the title 2022-06-22 22:37:18 +02:00
nathan
e9af38081e Move email-specific D-n-d into Et2SelectEmail class 2022-06-22 14:36:38 -06:00
nathan
874371483a Et2Select: Fix multiple + allowFreeEntries did not work together 2022-06-22 14:28:37 -06:00
nathan
5b0427fe0c Hopefully fix boolean reflected attributes not properly getting set
The previous way worked eventually, but attributes did not get immediately synced to properties
2022-06-22 14:26:27 -06:00
ralf
673e0b859c fix only_app attribute not taking into account when setting value, which is in that case just an id 2022-06-22 15:29:21 +02:00
nathan
d9400430e5 Mail: Use et2-select-email for displaying addresses in preview 2022-06-21 16:34:57 -06:00
nathan
34b0dc3e35 Remove debug 2022-06-21 11:07:30 -06:00
nathan
4fe62a0322 Reset dirty after load to avoid unwanted close prompt 2022-06-21 09:22:39 -06:00
nathan
61f22d67f3 Double thickness of colored category border in Et2SelectCategory 2022-06-21 09:22:39 -06:00
Hadi Nategh
ac171a1076 Implements DND for et2-select-email tags 2022-06-21 16:21:23 +02:00
nathan
5cd417ec72 Et2LinkEntry: Pass only_app & application_list properties onto internal Et2LinkAppSelect 2022-06-20 15:19:57 -06:00
nathan
261b104875 Looks like SearchMixin no longer needs special handling for change event and it was not working with onchange attribute in some cases. 2022-06-20 11:18:15 -06:00
nathan
e44ca6183a Promote select category to its own file 2022-06-20 09:35:38 -06:00
nathan
fff8048505 Remove debug 2022-06-20 09:05:06 -06:00
ralf
8228104b82 add extra parameter return_promise to StaticOptions.cached_server_side and using that for Et2SelectCountry to add flags and their css class 2022-06-20 17:01:28 +02:00
ralf
96109e0f26 Several account or contact edit fixes
- fix no groups were selected (as they have numeric values)
- fix size of country and state selection
- WIP adding flags to select-country
- WIP fixing selecting a country set country_code for state selection
2022-06-18 15:06:50 +02:00
ralf
7dc591b2c9 fix TypeError this === undefined 2022-06-17 22:43:35 +02:00
nathan
fdd6f23560 Better readonly styling 2022-06-17 14:06:12 -06:00
nathan
f13bf7b154 Et2SelectThumbnail 2022-06-17 13:07:33 -06:00
nathan
cfce00f7ea Et2Select: Deal with initial value of multiple set as CSV 2022-06-17 11:41:29 -06:00
nathan
f2c57c5e75 Et2Select: Fix search icon appearing everywhere 2022-06-17 08:53:15 -06:00
nathan
45bdc86203 Et2Button: Fix hideOnReadonly still showed up when readonly 2022-06-16 13:59:31 -06:00
nathan
d525918391 SearchMixin: Stick with repeat() over map(), it's slightly more efficient 2022-06-16 11:05:13 -06:00
nathan
851a054599 Select / Search bugs:
- search result would only be shown once even if next search included it
- selected values disappear when starting a new search
- loading spinner was not shown
2022-06-16 11:05:13 -06:00
nathan
6b950900ee SearchMixin: Avoid error if tag can't be found when we go to scroll to it 2022-06-16 11:05:13 -06:00
nathan
260d8f523a Get category icons & colors working for select category
Also some refactoring of things to where they should be
2022-06-15 16:43:39 -06:00
nathan
2a79264674 Select / Search CSS:
- Add some spacing
- Fix disappearing images, when they were in the search results
- Pass option classes to tag
- Move tag image to its own method for overriding
2022-06-14 17:31:39 -06:00
nathan
e109b1d85b Always use avatar for user image in Et2SelectAccount tag 2022-06-14 17:29:58 -06:00
nathan
67b9102a69 Et2Select: Allow dropdown option list to be wider than the field 2022-06-14 15:14:17 -06:00
nathan
3f3e7559f1 Select / Search CSS:
- Refocus search when clearing a single value
2022-06-14 10:06:27 -06:00
nathan
5f77d0c644 Select / Search CSS:
- Limit height of tag area (3 lines), use scrollbar if we get too many
2022-06-14 09:37:21 -06:00
nathan
003f1255d7 Select / Search CSS:
- Let search input take full space for single-value search selects
2022-06-14 09:09:11 -06:00
nathan
a7874ecb63 Select / Search CSS:
- Keep tags visible while searching, adding or editing a free entry
- hide selected options from dropdown
- double-click to edit free entries
2022-06-13 17:22:35 -06:00
nathan
a26b775505 Select / Search tag CSS:
- Pill tags
- Keep tag from overflowing
- Fix remove icon cut off
2022-06-13 17:22:35 -06:00
nathan
89a73ac47d Select / Search CSS:
- Hide selected options from dropdown
- Tab & Comma (,) now end a freeEntry, was just Enter before
2022-06-13 09:58:46 -06:00
nathan
8828770c4f Select / Search CSS:
- Fix tag remove button alignment
2022-06-13 08:25:16 -06:00
ralf
980f7cb0df fix first category was always selected in calendar.edit as somehow select_options were set before multiple
removed the deduplicate select-first-option code now in favor of the one in firstUpdate
also automatic convert empty_label for et2-select multiple into a placeholder
2022-06-13 14:39:01 +02:00
ralf
669f679fbc change our CSP to allow data: for connect-src, which is used by Shoelace to "load" icons 2022-06-13 13:19:54 +02:00
ralf
b24b6b42e4 fix ReferenceError: value is not defined 2022-06-13 12:34:25 +02:00
Hadi Nategh
30da3bb923 Make toolbar dropdown menu a dropzone 2022-06-13 11:22:52 +02:00
nathan
1215626473 Select / Search CSS:
- Promote image styling from Et2LinkAppSelect to all Selects
- fix double scrollbar if there are a lot of options
- different cursor for editable tags
- align +# right to make it stand out a little more
2022-06-10 14:11:57 -06:00
nathan
a7cafb590c Et2SelectAccount: Enable searching 2022-06-10 13:56:55 -06:00
nathan
3efe81c293 Fix Et2Image was using et2_clickable class without href or onclick 2022-06-10 13:25:54 -06:00
nathan
b47d6fc702 Et2SelectAccount: Fix TypeError: Cannot set property select_options of #<Et2SelectAccount> which has only a getter 2022-06-10 10:42:37 -06:00
nathan
cf151afff8 Clean up some TypeScript type issues
Putting the constructor type fixes some complaints about our widgets not being LitElements
2022-06-10 10:25:31 -06:00
nathan
531cc473e2 Et2Select: Implement allowFreeEntries & editModeEnabled properties
Also added Et2SelectEmail, which uses them
2022-06-10 10:11:34 -06:00
ralf
d98978ddd3 fix current user in timesheet not selected (was a numeric value) and empty_label not used, if no matching option for the value 2022-06-10 13:07:27 +02:00
ralf
0105124a7d fix et2-link shows ?? for no or empty value 2022-06-09 23:05:55 +02:00
ralf
597a983264 no longer load TinyMCE styles for preview and change TinyMCE margin to 10px we have in preview 2022-06-09 09:48:52 +02:00
nathan
45ccceb1c7 Fix Et2Select was losing options set in template
All JS tests now pass.  yay.
2022-06-08 14:57:26 -06:00
nathan
b7258692a4 Et2Select: Fix double change event
Caused double submit (which failed) in infolog when you changed type
2022-06-08 14:01:00 -06:00
nathan
0188e6df2d Stop TS from complaining about data children by giving better type info 2022-06-08 13:24:25 -06:00
nathan
408eda8eb3 Fix some JS tests
- Basic selectbox tests failed to set label
2022-06-07 16:55:58 -06:00
nathan
ec608e905a Fix some JS tests
- Description tests were not updated after description moved from shadowDOM to lightDOM
- Missing egw caused errors
2022-06-07 16:39:04 -06:00
Hadi Nategh
d32d2f554b Fix drag and drop for toolbar widget 2022-06-07 17:19:05 +02:00
nathan
94d534d897 Et2Select bugs:
- multiple always had the first option selected
- removing multiple options did not trigger change event
2022-06-06 16:41:29 -06:00
nathan
796c0a33df Et2SelectCat: Add in category colors & icons 2022-06-06 16:09:08 -06:00
nathan
c631bd8b7f Et2LinkTo: Seems to be working
Fixed some bugs:
- File buttons were added twice if connectedCallback was called twice
- Clearing selected entry focuses search & hides link button
2022-06-06 14:42:43 -06:00
nathan
b58045c19f Et2LinkTo: Start of link-to
still needs to work for new entries
2022-06-06 13:31:33 -06:00
nathan
ef0a549d1c Et2Button: fix unable to clear image once set
It would always show a broken image instead.
2022-06-06 13:26:44 -06:00
ralf
6ae098db93 enable taglist and taglist-cat mapped to et2-select-* multiple=true
also adding cat_N class to categories (need there CSS adapted)
2022-06-06 18:21:31 +02:00
nathan
e9d3db9b6d Et2Select: Add missing support for options on static type options (number, percent) 2022-06-03 10:19:05 -06:00
Hadi Nategh
6d1674bc45 Fix egw.tooltip documentation 2022-06-03 17:11:31 +02:00
ralf
5859ce0c37 fix CRM view shown with [object Promise] instead of title 2022-06-03 11:21:09 +02:00
nathan
f07aacaeaf Work on Search/LinkEntry
- Fix events were messed up after search
2022-06-02 15:45:23 -06:00
nathan
5f7b9bd5f4 Work on LinkEntry
- Show / hide app select depending on has current value
- Hide current value when searching to get more space
2022-06-02 11:52:27 -06:00
nathan
d5055b9b95 Fix Et2LinkEntry did not always show initial value
If link title was not already in cache, it might get left at ??.  It was not using passed title, and sometimes was not getting title from server fast enough.
2022-06-02 10:19:34 -06:00
Hadi Nategh
2b85b0b920 Fix options not available 2022-06-02 18:00:34 +02:00
Hadi Nategh
f6340e21d0 Add some options into tooltip 2022-06-02 18:00:34 +02:00
nathan
23f9015331 Fix Et2Select / Et2LinkEntry clear button did nothing
Automatic select first entry was re-setting the value after clearing
2022-06-02 09:59:08 -06:00
nathan
9f4ce778cc Work on LinkEntry
- fix initial value
2022-06-02 09:16:28 -06:00
nathan
850f6effeb Work on LinkEntry
- fix title missing on load when we didn't have it client side
2022-06-02 09:14:01 -06:00
ralf
9579fc0caf fix app-selection in et2-link-entry does not set it's value from the user prefs / keep the last selected value 2022-06-02 17:06:55 +02:00
ralf
a720a7f48a remove unnecessary getValue() 2022-06-02 16:31:27 +02:00
ralf
fc227f82d0 fix TypeError, if no options are set and remove unnecessary getValue() 2022-06-02 16:29:58 +02:00
ralf
a9e180a9fb fix mixup of this.value, Lion this.modelValue and old get/set_value
causing eg. numeric values not to be cast to string and therefore not selecting their option
2022-06-02 16:12:38 +02:00
ralf
c251e2f185 remove removing of empty description and label widgets
also make sure option.value is a string, as sl-select seems to use === to calculate matches so option with value 0 is not selected by a value of '0'
2022-06-02 13:45:34 +02:00
Hadi Nategh
530f153c17 Make sure we do have a valid element before constructing 2022-06-02 10:27:31 +02:00
nathan
dbcf9e75eb Set only_app to override value 2022-06-01 09:42:50 -06:00
nathan
7cb13015ae Fix item class was not correct 2022-06-01 09:41:53 -06:00
nathan
59862bba7b Fix missing shoelace clear button 2022-06-01 09:26:12 -06:00
nathan
2b68b6cbbe Work on LinkEntry
- fix missing app select
- add clear button
- use request() instead of json() to query server
- add optional class property to SelectOption
- move cleaning select options to its own function so we can use it anywhere
- Use separate render to keep local / remote options separate.  Local options stay in select_options.
2022-06-01 09:25:11 -06:00
Hadi Nategh
cbe097b2e3 Replace dnd in toolbar 2022-06-01 16:47:07 +02:00
ralf
0aa813a0ff got LinkEntry mostly working 2022-06-01 16:05:34 +02:00
nathan
9b0e1b9206 Work on LinkEntry 2022-05-31 13:41:39 -06:00
nathan
c572fa637d Fix conflict between Et2Select static type options & custom options resulted in losing the type options 2022-05-31 13:41:39 -06:00
Hadi Nategh
5f7d1c50a2 Replace draggable used in fw splitter 2022-05-31 17:21:21 +02:00
ralf
133787f239 bind load handler to set overflow-y: auto on body of contentDocument to allow vertical scrolling 2022-05-31 15:44:48 +02:00
nathan
bc045bf0da Add SearchMixin
A little clunky and still missing server-side
2022-05-30 17:05:38 -06:00
Hadi Nategh
ae75801033 Fix error TypeError: Cannot read properties of null (reading '0') 2022-05-30 17:19:23 +02:00
Hadi Nategh
017901a317 Add allowScrolling for action popup and do not popup context menu when more than one touch is used 2022-05-30 16:07:26 +02:00
Hadi Nategh
23eaef96b2 Implements allowScrolling for tapandswipe 2022-05-30 16:04:59 +02:00
Hadi Nategh
742f2a5cb0 Add fingercount into tapandswipe 2022-05-30 11:02:58 +02:00
ralf
0b547c921d fix error for typeof this.value !== 'string', eg. number, undefined, ... 2022-05-29 09:53:41 +02:00
nathan
7f1cd117a7 Fix select change event not firing, initial value not showing 2022-05-27 15:39:51 -06:00
nathan
45327d559a Hoist to escape container 2022-05-27 14:22:15 -06:00
nathan
57e1845c16 Avoid errors if src changes before first render & img is not there 2022-05-27 14:20:35 -06:00
nathan
c212734618 Switch Et2Select to be based on Shoelace select instead of LionSelect 2022-05-27 14:12:31 -06:00
nathan
0963f7d548 Fix src could not be changed after being set 2022-05-27 14:11:35 -06:00
nathan
ac52723ce7 Get Et2Taglist to show initial value when that value is not in select_options
(only if allowFreeEntries is on)
2022-05-27 14:11:35 -06:00
nathan
aa20af559a LinkApp selection 2022-05-27 14:11:35 -06:00
ralf
ad98fb299b disabling DND in toolbar for now 2022-05-26 17:28:58 +02:00
ralf
b33c13824f drop jquery-ui, jquery-ui-touch-punch-fix and temp. comment out last usages in framework classes 2022-05-25 21:01:26 +02:00
Hadi Nategh
b8d348d30c Replace jquery-ui swipe with tapandswipe library 2022-05-25 17:40:54 +02:00
nathan
a5fe6d938b Don't need this, we can remove it 2022-05-25 08:45:22 -06:00
Hadi Nategh
b3c2dcc90b Cleanup draggable dom after drop/dragend events 2022-05-25 11:16:33 +02:00
nathan
ece3813459 Remove jQueryUI for moving events in timegrid view 2022-05-24 14:53:49 -06:00
ralf
26c64c0838 * Mail: explicitly apply default font and -size before sending mail 2022-05-23 19:36:04 +02:00
Hadi Nategh
1afcc3ebce Replace all jquery-ui sortable used in fw 2022-05-23 17:45:56 +02:00
Hadi Nategh
0ac617eb15 Add DRAG_ENTER event 2022-05-23 17:22:03 +02:00
Hadi Nategh
98e959346c Reduce time complexity of alarms calculation 2022-05-23 15:46:45 +02:00
Hadi Nategh
9f363ad51c Fix importing interactjs library 2022-05-23 11:35:14 +02:00
nathan
5ed00cc435 Make dialogs resizable again 2022-05-20 11:41:09 -06:00
Hadi Nategh
3dd247f1df Another unintentional import statement 2022-05-20 16:11:05 +02:00
Hadi Nategh
e8378bd742 Revert unintentional changes from previous commit 2022-05-20 16:05:22 +02:00
Hadi Nategh
ef6cf29ce1 WIP DND:
- fix drag-hover not working smoothly
- fix drop zone events being triggered by other draggable items (none et2action draggable)
2022-05-20 16:02:20 +02:00
nathan
f7fc569018 Fix expose CSS & a couple of bugs 2022-05-18 17:33:40 -06:00
nathan
c46f9c5440 Fix up dropdown in toolbar 2022-05-18 14:39:25 -06:00
nathan
7300250dfb Use webcomponent for favorites widget 2022-05-18 11:30:44 -06:00
nathan
776ce7202a Et2Favorites 2022-05-18 11:01:27 -06:00
nathan
5edd7dc782 Do a better extending Et2WidgetWithSelectMixin and using what it provides 2022-05-17 10:04:39 -06:00
nathan
5528261050 Fix dropdown took over nextmatch header 2022-05-17 09:40:34 -06:00
nathan
3658d4e7f2 Avoid errors from webcomponent children who haven't had a chance to fully set up yet. 2022-05-17 09:36:56 -06:00
Hadi Nategh
b956f1f28d WIP replace jQuery-ui dnd with HTML5 dnd 2022-05-17 15:01:11 +02:00
nathan
17d2e2cb5c Change style of parameter type declaration to make sure it transformAttributes handles it correctly. Objects were still parsed as string, resulting in "[Object object]" 2022-05-13 14:22:44 -06:00
nathan
56def486f0 Switch toolbar to use Et2DropdownButton
NB: This doesn't actually work properly yet, there's something that closes the dropdown immediately that I haven't found the source of yet.
2022-05-13 14:19:21 -06:00
nathan
079ebf00b6 Et2DropdownButton: force different handling to escape any container 2022-05-13 14:12:42 -06:00
nathan
9e78e35fd3 Et2DropdownButton now working & looking like it belongs 2022-05-13 11:51:29 -06:00
nathan
ce922c8816 Fix Et2Widget.createElementFromNode() used the wrong variable to determine widget class, and missed out on modifications 2022-05-13 09:39:07 -06:00
ralf
6f2a93ef0a fix sometimes not working click handler in buttons
eg. admin.index or admin.acl
2022-05-13 17:18:15 +02:00
nathan
b69c5e7cbf Fix IDE errors without changing internal data type 2022-05-13 09:07:47 -06:00
nathan
de0c9aa3f4 Fix incorrect type issues on options 2022-05-13 09:02:22 -06:00
ralf
ace84d7953 fix not set image (if it was set to "") and missing onclick attribute
thought some button click-handler are still not working
2022-05-13 16:54:02 +02:00
ralf
273fe9a28a diverse fixes loading no longer existing legacy widgets like description 2022-05-13 15:32:36 +02:00
ralf
ac5932240b remove old expose view / blueimp gallery and all widgets which have been using them:
- new web-components are unconditionally replacing them via the preprocessor
- some widgets (eg. et2_description) could not be removed as other legacy widgets are extending them, but they are no longer registered
- as there are many places using et2_createWidget('description', ...), et2_description returns now web-components for no longer existing widgets
2022-05-13 11:59:13 +02:00
nathan
8172f6e72d Et2DropdownButton WIP 2022-05-12 15:22:49 -06:00
nathan
a7940fe4f6 Update declaration signature 2022-05-12 11:03:18 -06:00
nathan
9942ec9f08 Link fixes
- Fix links added to not yet saved entries were not displayed in link lists
- Adjust LinkList column sizes
2022-05-12 10:54:29 -06:00
nathan
b9d145a40b Link fixes
- Fix actual Expose didn't work on links themselves
- Adjust delete button / context menu caption to match file/link
2022-05-12 10:08:59 -06:00
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
ralf
849291889e fix some TypeScript errors displayed by IDE in new ExposeMixing 2022-05-07 11:35:27 +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
b2044db11e remove jQueryUI date picker 2022-05-03 15:38:47 +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
ralf
c62b305b4a return a Promise from egw.accountData and deprecated, but still support, the use of a callback
egw.accounts can be called with a second parameter async=true to query accounts async and return a Promise
2022-04-27 17:33:07 +02: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
Hadi Nategh
8b147bc285 Fix removeSessionItem not working 2022-04-05 10:24:06 +02: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
96039e0729 egw_open doesn't like the import... 2022-03-17 16:54:43 -06: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