Commit Graph

1961 Commits

Author SHA1 Message Date
nathan
40bbc53af8 Fix Uncaught TypeError: Cannot read properties of null (reading 'app_obj') when clicking a project title.
onclick for nextmatch rows was not getting re-parsed for each row, so it was trying with the original widget from the template instead of the one from the row.
Also accepting widget as argument into compiled legacy code and using it over original context so we don't need to re-compile for each row.
2022-08-17 13:23:55 -06:00
nathan
6caaba1bca Et2AvatarGroup: Show names on hover 2022-08-17 08:53:24 -06:00
nathan
8747bc2e0c Allow et2-select-email to be focused as first input 2022-08-16 16:49:42 -06:00
nathan
d5d9dd6164 Select + search improvements
- Use et2-search widget with clearable for search
- Add focus(), which opens & focuses search
2022-08-16 16:46:20 -06:00
nathan
0110cdf5f9 Fix error syncing due to missing context 2022-08-16 16:43:18 -06:00
nathan
0ae69429b5 Fix CustomFilterHeader did not work properly
Some transformations were not correctly handled, and events were therefor not bound
2022-08-16 09:29:08 -06:00
nathan
8c7cfc3e69 nm - give the reason when it can't generate column name (no IDs) 2022-08-16 09:22:57 -06:00
nathan
660ba3368d Fix missing description label 2022-08-16 09:20:40 -06:00
Hadi Nategh
4fab7c1aaf Fix select apps drop down not being aligned with other fields in infolog and generally in all apps 2022-08-16 11:38:08 +02:00
ralf
2a7d05a545 fix not camelCase attribute name, sanitize app-names to 16 chars and use "infolog" for CRM-view
still not fully working, as NM controller somehow overwrites it again :(
2022-08-16 10:10:36 +02:00
nathan
ffc4fe36a0 Kanban: Fix display of resources on card by adding Et2AvatarGroup 2022-08-15 15:16:23 -06:00
nathan
95f10b57f3 Et2Image: Check that src from content is valid to avoid overwriting existing src attribute
Happens in Kanban contact, src="email" but email has a value (an email address)
2022-08-15 13:25:08 -06:00
nathan
6095b0e2ae Fix Et2LinkSearch did not always get correct option when it was loaded with a value
SearchMixin was incorrectly allowing it as a free entry, so it wasn't being properly loaded by Et2LinkSearch
2022-08-15 10:38:19 -06:00
nathan
652e84644b Et2Widget: 'attributes' is read-only in webcomponent, so assign it in to avoid errors
This is used by some kanban column stuff
2022-08-15 10:35:12 -06:00
nathan
ddee9a2b59 Et2Select: Move option rendering into its own function, call it for Et2SelectAccount. This fixes missing option/label in some cases
eg: Kanban edit column Add/Remove assigned
2022-08-15 10:31:49 -06:00
ralf
2a8aa8e7ae some fixes for vfsSearchUI 2022-08-15 17:38:56 +02:00
ralf
c0490007ff fix TypeError: _widget.get_value is not a function 2022-08-15 16:48:40 +02:00
Hadi Nategh
a456f509f5 Let the tags styling matches the rest of the framework 2022-08-12 12:46:48 +02:00
ralf
8b45483c68 fix not working "use enddate" in edit or quickadd
also fix not displayed month in header and add translation of month or week-day names
2022-08-12 11:38:15 +02:00
ralf
429886139b change default remoteQuery to send query and options as parameters and additional as GET parameters
to support old taglist style callbacks and the select callbacks
2022-08-11 11:24:07 +02:00
ralf
458519800d removing tiny left padding and big right margin from [+] button in calendar NM header 2022-08-11 11:15:22 +02:00
ralf
75a263a047 automatic enable search for more than 20 options on Birgits request 2022-08-10 13:29:15 +02:00
ralf
a54c100470 fix email selection after changing selects client- and server-side to no longer send id attribute, but value
thought we still accept id, if there is no value
2022-08-10 13:28:48 +02:00
Hadi Nategh
b59b4ff2aa Change default input focused color 2022-08-10 13:15:24 +02:00
ralf
9ddfba4a24 fix no category was selected (because of numeric value) and color was not shown 2022-08-09 17:24:28 +02:00
ralf
259bc4cd71 fix not working click on URL
static method Et2Url.action() can NOT use this.egw(), but global egw
2022-08-09 16:46:57 +02:00
Hadi Nategh
5f67bd720a Fix shoelace inputs outline focused color 2022-08-09 16:46:19 +02:00
Hadi Nategh
1a32718e62 Override some of the shoelace tab's styling 2022-08-09 15:53:29 +02:00
Hadi Nategh
281047e2cc Keep the original outerNode top offset as we need it later for NM height calculations 2022-08-09 15:17:58 +02:00
ralf
ea0cbd0441 account selection currently only need to use server-side search, for pref "Primary group and search"
for all other types the local search is sufficient, as everything is already local!
fix Taglist::ajax_search for accounts to pass the icon to client-side and always set value instead of id
2022-08-09 10:47:57 +02:00
ralf
7c976d7fdd fix et2-checkbox onChange not called 2022-08-08 18:32:43 +02:00
ralf
e7eb9f42e3 fix many errors around et2-select emulating old taglist:
- preprocessor: translate attributes autocomplete_url -> searchUrl, autocomplete_params -> searchOptions, and allow options
- sending search query as URL/GET parameter with default of app: <appname>
- handle searchUrl like allowFreeEntries by adding selected result to select_options via createFreeEntries, as they otherwise get removed by fix_bad_value not finding the value in select_options
- change taglist validation (again) to not validate search values
- still requires changes in application code, as taglist always behaved like multiple=true (returning and expecting an array of values) and did automatically search from client-side for it's initial value(s)
--> maybe more changes are in order to NOT require changing application code
--> fixes editing Sieve rules
2022-08-08 17:28:51 +02:00
ralf
79a395e3e6 fix missing scrollbar in longer then visible dropdown 2022-08-08 14:44:37 +02:00
ralf
7f36de45a4 take symlink indicator from api not old etemplate app
Using LGPL licenses GNOME icon: https://de.wikipedia.org/wiki/Datei:High-contrast-emblem-symbolic-link.svg
2022-08-08 14:12:20 +02:00
Hadi Nategh
301d38796f Still set width for buttons with only icon and remove the extra left padding in this case as we want the button and icon be square 2022-08-08 11:57:02 +02:00
ralf
2017bd8261 remove legacy widgets dropdown_button and favorites 2022-08-07 12:09:02 +02:00
ralf
d9d14f1e2a implement appicon as web-component and remove/replace legacy et2_widget_image with stubs 2022-08-07 11:55:02 +02:00
ralf
29ac5d82a9 remove legacy widgets url-*, colorpicker and tabs 2022-08-07 11:02:54 +02:00
ralf
ba35be1d86 Change Et2Checkbox to behave closer to legacy et2_widget_checkbox and thereby fixing all sorts of errors with it.
Fix vfsSelectUI to be able to select files again with click on the row and only submit selected files.
Also change Et2Widget.iterateOver and legacy et2_widget.interateOver to be called with new web-component classes like Et2Checkbox. Also make Et2Widget matching all widgets by default like et2_widget.
Remove legacy et2_widget_checkbox code.
2022-08-07 10:10:33 +02:00
ralf
239a81e6d9 replace et2_link_add with a stub and no longer include it in etemplate2.ts 2022-08-06 08:38:16 +02:00
ralf
49aba7193d adapt tab-activation on validation error to new tabs and additionally scroll widget into view 2022-08-05 20:33:29 +02:00
nathan
e8a93ab782 Handle initial value sometimes not set after Shoelace version bump 2022-08-05 11:32:59 -06:00
nathan
36d74dd91f Select search term after selecting a search result 2022-08-05 11:10:50 -06:00
nathan
e67c3d6e61 Et2Tabs: Implement et2_IResizable 2022-08-05 11:01:26 -06:00
ralf
b22674dbd7 change tabbox to be an input widget allowing to get and set the active tab 2022-08-05 17:37:23 +02:00
Hadi Nategh
2593acf303 Let the button with no label set and only icon be square 2022-08-05 16:25:47 +02:00
Hadi Nategh
3fe7398b18 Fix some of calendar's toolbar actions not having icon or caption 2022-08-05 13:03:59 +02:00
nathan
fb94a47df1 Et2LinkSearch: Avoid error if title couldn't be found 2022-08-04 16:25:44 -06:00
nathan
b88ce18639 Fix invalid template names caused by appending cache_buster incorrectly
38721229b0
2022-08-04 16:15:04 -06:00
nathan
045f322bf6 Et2Select changes:
- Position search & edit inputs to avoid reflow
- When editing a freeEntry, blurring accepts the current value, before it canceled the edit
2022-08-04 15:50:52 -06:00
nathan
f08eaa9fdc Et2Colorpicker: Turn on clear value button 2022-08-04 14:03:28 -06:00
nathan
098c2ab3f0 Fix some issues from the shoelace version bump
- SlSelect.getItemLabel() not there anymore
- SlSelect.menuItems is now a real list, and fails when parent tries to write to it
- Tabs didn't hide properly when not active, giving a scrollbar
2022-08-04 13:47:16 -06:00
nathan
97daa9a731 WIP Fixing colorpicker - moving it to be based on Shoelace 2022-08-04 13:08:34 -06:00
nathan
78acaba766 Et2LinkList: Fix deleting links on unsaved entries deleted more than expected 2022-08-04 10:47:06 -06:00
nathan
111e337db1 Avoid error when getting tab height from parent 2022-08-04 09:19:04 -06:00
nathan
ae4b8de4e5 Remove setting textContent twice. If needed, loadFromXML() will handle it. 2022-08-04 08:59:40 -06:00
Hadi Nategh
47825f1be3 Override default color-indicator from shoelace 2022-08-04 16:31:14 +02:00
Hadi Nategh
de699325a6 Set a smaller font-size for tab's label 2022-08-04 16:19:30 +02:00
Hadi Nategh
2369daa2e8 Add toggle alignment option into Et2Details widget 2022-08-04 11:40:27 +02:00
ralf
509fbd73e9 fix JS error, if user has no preferences or favorites 2022-08-04 09:08:46 +02:00
nathan
aabda23bbd Et2Select: Turn on hoist, we want it on more than off
In particular, ACL dialog, but there's a bunch of other places too.
2022-08-03 16:28:18 -06:00
nathan
bddcf72728 Get collabora placeholder dialog working again in trunk 2022-08-03 16:05:50 -06:00
nathan
f7cf372f09 Et2Select: Better handling for when select_options & value get set one after the other
This caused selectbox to look empty, even though it had a value since the new menu-items hadn't been created when value was set
2022-08-03 16:04:08 -06:00
nathan
ed92763176 Et2LinkAppSelect: Make proper SelectOptions out of app list 2022-08-03 15:30:22 -06:00
nathan
462f5bb55d Fix widget without ID breaks submit 2022-08-03 11:45:45 -06:00
nathan
44c331f69d Fix buttons with image but no label didn't always size correctly 2022-08-03 11:33:37 -06:00
nathan
054ac0fa62 Fix extra vertical scrollbar due to tab padding 2022-08-03 10:35:53 -06:00
nathan
e689d0c49d Improve styling of nm header row and widgets inside 2022-08-03 10:14:52 -06:00
nathan
0f729b7a1b Center image in button when it has no label 2022-08-03 10:10:28 -06:00
Hadi Nategh
42ccb288f0 Fix Et2Switch in toolbar is not draggable 2022-08-03 17:25:17 +02:00
Hadi Nategh
420a491e34 Set width and height for slot label 2022-08-03 17:24:43 +02:00
ralf
bd555ec4d1 fix JS error, if we have no image and no _iconNode 2022-08-03 16:27:23 +02:00
ralf
c3673b1126 ported timestamper to a web-component
also implemented legacy methods activateTab() and setActiveTab() for new tabs widget
2022-08-03 15:48:35 +02:00
Hadi Nategh
839f5f9284 Use Et2Switch for toolbar 2022-08-03 13:41:58 +02:00
Hadi Nategh
67b5c31404 Implements Et2Switch widget extended from shoelace switch 2022-08-03 13:41:08 +02:00
ralf
56464a3ce2 add a property isSlComponent so constructor can explicitly set it, for components without a handleChange method 2022-08-03 11:39:06 +02:00
ralf
b00136f178 coping with new et2-tab-box widget:
- change preprocessor to always us it
- giving tab-panels again some padding-top
- change et2_grid to NOT set a width, if cell has a colspan
- switching table-layout: fixed off again, as it does not work well with infolog.edit
- remove dropped Chosen, jQuery-UI, MagicSuggest and old blueimp gallery from Gruntfile
- simplified infolog.edit a bit, which gives better results
2022-08-03 10:57:49 +02:00
nathan
9530f693e0 Set ID for tab contentDiv 2022-08-02 16:40:27 -06:00
nathan
40e3d6e459 Better sizing for buttons with only image, no label
Doesn't skip effects of flex though
2022-08-02 16:38:52 -06:00
nathan
1a8c1c2d35 Avoid errors that happen if you try to remove a non-element child from a webComponent 2022-08-02 16:37:01 -06:00
nathan
d438b4e355 Use webcomponent for tabs
+ handle tabs set by variable better
2022-08-02 14:53:15 -06:00
nathan
db143f047a Change tabs to use Shoelace
Includes changes to historylog, since it did some deferred loading & sizing magic based on tab
2022-08-02 10:33:04 -06:00
ralf
d0494ce286 fix "No appropriate target application" error when trying to open a directory in filemanager with a double click
caused by et2-image href attribute being set to the row-id / vfs-path and causing et2-image click handler to call egw.open_link with the vfs-path as url
overwriting _handleClick now for et2-vfs-mime to only call expose, but never the parent (et2-image) _handleClick, so action-system get a chance to handle it
2022-08-02 14:59:03 +02:00
ralf
d9c28d5a1e directly return from applyFilters() if the NM controller is not (yet) instantiated 2022-08-02 14:53:34 +02:00
Hadi Nategh
ea11a28868 WIP converting toolbar subwidgets to use wc widgets 2022-08-01 17:59:40 +02:00
Hadi Nategh
66394b3e29 Take images with egwURL format into account 2022-08-01 16:02:50 +02:00
ralf
873dcb126f implement deprecated set_suggest to fix JS errors from apps calling it (mail) 2022-07-31 11:43:20 +02:00
nathan
c3a8d40914 Stop webcomponent labels disappearing 2022-07-29 08:58:44 -06:00
ralf
125a8abf61 only call widget.resize() if it's a function:
- web-components do not implement it
- et2-textarea / SlTextarea uses resize as a property name
--> we can postpone the decision, if we need an explicit resize handler for our web-components, or using flex is sufficient, for now
2022-07-29 15:29:51 +02:00
Hadi Nategh
14252a471c Expand textarea to 100% height 2022-07-29 15:00:14 +02:00
ralf
3a92e104da fix TypeError for account-selection type "primary_group" 2022-07-29 09:24:57 +02:00
nathan
6bf74dcb11 Fix buttons that have icon & label did not always get both
Statistic submit cancel button, for example
2022-07-28 13:06:18 -06:00
nathan
d4cbafc5a8 Change textbox to be based on Shoelace instead of Lion 2022-07-28 11:21:07 -06:00
nathan
827a10376a Make checkbox label change color on hover 2022-07-28 10:54:08 -06:00
nathan
7a05318d49 Make checkbox vertically line up with surroundings 2022-07-28 10:36:20 -06:00
nathan
04ac4d6045 Readonly checkbox 2022-07-28 10:28:22 -06:00
nathan
e1885983d5 Hopefully fix missing non-reflected attributes in nm rows without too much of a speed penalty 2022-07-28 09:57:58 -06:00
Hadi Nategh
53baf00ebf Add max-height to Details content container 2022-07-28 15:31:45 +02:00
Hadi Nategh
8b4b66a17e Make default avatar shape "rounded" 2022-07-28 15:09:19 +02:00
Hadi Nategh
e0b4c5f6af Implements Et2Details webcomponent widget 2022-07-28 15:01:17 +02:00
ralf
47817e4df5 fix size and alignment of image only button
padding-left: 1px also looks nicer for buttons with image+label
2022-07-28 10:08:17 +02:00
nathan
7df2876d8a New checkbox webcomponent based on SlCheckbox 2022-07-27 15:51:32 -06:00
nathan
0186714112 Et2DateDuration improvements:
- If display.unit is not set, show the first unit option instead of blank selectbox
- Move number spinner to edge of box so numbers have more space
2022-07-27 13:36:04 -06:00
nathan
e9f0a5216b Fix missing button images when image was not set before first update 2022-07-27 13:03:44 -06:00
nathan
93167940f8 Fix validation errors were not visible, improve required css
It looks weird if you use et2_required class instead of setting required attribute.
2022-07-27 11:33:14 -06:00
ralf
38721229b0 inject preprocessor and (daily) cache-buster for templates in dialog widget
also allow for a xml comment inside the deprecated menulist tag
fixes Admin ACL popup
2022-07-27 17:54:09 +02:00
Hadi Nategh
6ac41f0495 Add part to ET2Box base container 2022-07-27 15:31:09 +02:00
ralf
0ad3cf9832 fix not working onchange with Shoelace components: need to bind sl-change instead of change
adding change handler to invoker mixing to enable/disable invoker when value changes
2022-07-27 12:33:37 +02:00
ralf
1b9e2367e1 fix stalled save in AB caused by no _labelNode / label set 2022-07-27 12:10:39 +02:00
ralf
dbdb124c1c fix not displayed selected account, caused by egw.accounts() returning value as number, not string 2022-07-27 11:46:45 +02:00
ralf
879fb84229 automatic focus on first et2-textbox too, not just input 2022-07-27 10:29:31 +02:00
nathan
2394831083 Switch Et2Button base from LionButton to SlButton 2022-07-26 16:23:27 -06:00
nathan
17012f6f25 Fix some readonly / readOnly bugs that snuck in when textbox was converted from Lion to Shoelace 2022-07-26 13:56:17 -06:00
nathan
5b76c8b16d Fix et2-date-duration would no longer return a value 2022-07-26 13:31:20 -06:00
nathan
de73241166 Fix historylog multi-part entries did not actually show values
Also deals with some issues setting and missing cleaning of select_options
2022-07-26 11:41:07 -06:00
ralf
9f15169ced convert hierarchical options / optgroups to a flat list and enable search for more than 100 options automatic
fixes timezone selection in preferences
2022-07-26 18:57:18 +02:00
nathan
df0b4f3afb Fix free entries didn't get added properly for static option selects 2022-07-26 09:15:05 -06:00
nathan
c45661bbe4 Et2Select: No horizontal scrollbar on options 2022-07-26 09:12:52 -06:00
ralf
dee28cb53f noLang only affects options, label, statustext, placeholder, emptyLabel get always translated 2022-07-26 15:46:42 +02:00
ralf
aa80b4027a fix not translated tooltip, select options and emptyLabel 2022-07-26 15:06:07 +02:00
nathan
aace76b97a Fix camelCased attributes didn't work for more than 1 underscore
Also fixes vfsSelect destroyed session
2022-07-25 16:12:09 -06:00
nathan
bdc74303bb Fix multi-part history fields gave error during creation due to not recognising that it was multi-part
"Uncaught TypeError: Cannot read properties of undefined"
2022-07-25 13:55:55 -06:00
nathan
66164ad2eb Fix disabled widgets returning a value
Fixes calendar event created via quick add, duration is wrong
2022-07-25 13:32:06 -06:00
nathan
ab9cde60eb Don't error when validating any remaining Lion widgets 2022-07-25 09:06:32 -06:00
ralf
79df51dbbb show "Search" as placeholder
fix sometimes not modified <textbox by adding it to ADD_ET2_LEGACY_PREFIX_REGEXP too
2022-07-24 09:31:58 +02:00
nathan
7c925e5264 Fix search sometimes got undefined as value, breaking initial render() 2022-07-22 13:54:31 -06:00
ralf
ac0867ab77 implement et2-searchbox and using it in NM
reorganized preprocessor a bit to fix some not replaced size attributes
also pass on constructor args in all Et2Url widgets

There is still a JS error in new searchbox, causing admin searchbox to not render :(
2022-07-22 20:43:09 +02:00
nathan
3cb8b1ecce Get select hover border back 2022-07-22 10:44:37 -06:00
nathan
8a53646188 Fix some textboxes refused to flex smaller than 160px 2022-07-22 09:04:14 -06:00
nathan
a0467b2e55 Fix JS error about can't find input box from init() 2022-07-22 08:42:35 -06:00
ralf
b8ffa91efe use et2-textbox instead of an input for et2-date* to inherit SL styling 2022-07-22 15:45:47 +02:00
ralf
888b518e9b implement et2-password web-component replacing passwd legacy widget
enabled Et2InvokerMixin to use an image instead of a textual label
also remove et2_fullWidth CSS class from all web-components in the preprocessor
2022-07-22 15:21:40 +02:00
ralf
e90ae88a20 fix preprocessor and transformer can't know if application widget is a web-component or a legacy widget
- white-list now records-* like et2-* widgets for camelCase attribute names
- server-side transformer also transforms attribute-names to camelCase for widget-type et2-*
- client-side transformAttributes() also transforms attribute-names to camelCase for widget-type et2-*
--> hopefully this can be dropped, once als widgets are web-components
2022-07-22 11:08:55 +02:00
ralf
817aba5af6 fix custom fields (somehow input widgets had no readonly) and some JS errors
Et2Number still misses styles, thought it extends Et2Textbox
2022-07-22 09:03:54 +02:00
ralf
62470de869 fix not shown avatar image in addressbook.edit due to camelCase attribute names 2022-07-21 22:52:35 +02:00
nathan
ea20784e31 Get Invoker buttons back after changing Et2Textbox base
379ceeb3e5
2022-07-21 14:05:53 -06:00
nathan
2b848622fb Add missing validator variables 2022-07-21 13:45:24 -06:00
nathan
68849a2b79 Use et2-select & et2-textbox in Et2DateDuration for consistent styling 2022-07-21 13:32:06 -06:00
nathan
379ceeb3e5 Switch Et2Template to extend SlInput instead of LionInput
Also includes changes to how validation messages are handled to use our own stuff
2022-07-21 12:39:00 -06:00
ralf
39a3ef8183 rename parent_node to parentId, as parentNode is already a DOM property 2022-07-21 19:29:43 +02:00
ralf
b9d96ea3e9 change all attribute-names of new et2-* widgets to camelCase
only exception is select_options, never used in templates
2022-07-21 17:57:50 +02:00
ralf
b1da5b05a9 remove not used Et2Taglist 2022-07-21 17:22:47 +02:00
Hadi Nategh
679a589c25 Add image property in avatar into detached attributes 2022-07-21 12:02:23 +02:00
ralf
d26ed9bfce fix not displayed r/o et2-select-cat values 2022-07-21 11:50:05 +02:00
nathan
123ca38d65 Fix changing selected link entry still kept the original value 2022-07-20 15:05:05 -06:00
nathan
f72b842031 Let search take full size - empty label margin was taking some 2022-07-20 15:03:15 -06:00
nathan
6c315301aa Get link-to buttons looking better by switching to et2-button 2022-07-20 11:27:18 -06:00
nathan
af9aaa25de Remove warning 2022-07-20 08:12:16 -06:00
nathan
724c42aa6b Block works better for automatic sizing 2022-07-19 16:55:46 -06:00
nathan
4b52b62698 Handle width attribute from template as special case
Should still be avoided
2022-07-19 16:20:49 -06:00