Commit Graph

62 Commits

Author SHA1 Message Date
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
nathan
7cb13015ae Fix item class was not correct 2022-06-01 09:41:53 -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
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
nathan
bc045bf0da Add SearchMixin
A little clunky and still missing server-side
2022-05-30 17:05:38 -06: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
c212734618 Switch Et2Select to be based on Shoelace select instead of LionSelect 2022-05-27 14:12:31 -06: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
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
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
797c615060 Move Et2Box into Layout 2022-05-06 11:57:53 -06:00
nathan
10af4f7514 Historylog + webcomponents
- historylog widget now uses webcomponents for timestamp & user, and whenever possible for values
- History::get_rows() formats customfield date/date-time values as needed
- implement setDetachedAttributes(), if nextmatch & historylog are calling them on webcomponents, might as well use that to set what they pass
2022-05-03 11:01:42 -06:00
nathan
215dc21ec5 Avoid error if label is missing 2022-05-02 17:43:10 -06: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
nathan
de2dade286 Et2SelectReadonly: Make sure we're dealing with string value 2022-04-29 14:37:52 -06:00
nathan
4f17302bb1 CSS / Layout cleanup - better autosize
- More consistent sizing/position for invoker
2022-04-22 15:22:31 -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
a83f9a1ec9 Get tests passing again
- Dates have their input as slotted, not internal
- Selects have .select_options, not .get_select_options()
- Remove this.egw().lang() use from Et2InvokerMixin._invokerTemplate()
2022-04-01 12:52:47 -06:00
nathan
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
ralf
a45d26511b fix not set invoker for expand_multiple_rows attribute 2022-03-18 22:26: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
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
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
ralf
dd7ebad1e7 Implement et2-select-account 2022-03-10 20:20:32 +02: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
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
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
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
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
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
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
ralf
c2166c5750 fix select-boxes submit their old value, if they are onchange="1"
@Nathan: Not sure if this is the right fix, but I can't see where we use Lit's FormatMixing, which defines serializedValue (and therefore select-box always returns the old modalValue)
2022-02-21 20:58:56 +02:00
nathan
9079f97d7e Fix selectbox values were not set.
Paying more attention to the WebComponent life cycle here, rather than what our widgets do - connectedCallback(), requestUpdate(), updated() are more important than loadFromXML(), etc. which are only used when loading from the .xet the first time.
2022-02-18 12:02:27 -07:00
nathan
1776dd9005 Fix some readonly selectboxes were missing options 2022-02-17 16:37:59 -07:00
nathan
be4633c9fa Implement et2-date-duration 2022-02-16 16:45:40 -07: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
650d76bd5c Common cleaning of r/o select value 2022-02-07 13:51:05 -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
cc9a6bcf8a Don't split single values 2022-01-19 15:57:59 -07:00