Commit Graph

4305 Commits

Author SHA1 Message Date
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
ralf
e5a6f195dc fix delete-account did not show 0 entries for InfoLog, also give a total per InfoLog type 2022-03-15 10:50:57 +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
a059d2f59c Fix for disconnected month selectboxes
aa2dc5c8f0 didn't work
2022-03-07 09:15:56 -07: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
5ac43d7a5a 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:25: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
a6d297afb7 ignore further legacy options for select, to not display them as part of the empty_label 2022-02-28 13:41:02 +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
ralf
71d079c9f3 only send password (or hash) to client-side, if explicitly requested 2022-02-25 13:53:03 +02: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
nathan
ecd8b08373 Fix timesheet edit could not select start date
Unimplemented "mode" legacy option was conflicting with flatpickr "mode" attribute
2022-02-22 10:01:55 -07:00
ralf
1c7e74a2af prefer [Login] button below over maybe existing SAML login button above 2022-02-21 21:19:41 +02: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
ralf
ebfdc1f718 fix array_combine requires same number of values as keys 2022-02-18 11:01:33 +02:00
ralf
72f227d670 transforming legacy options in preprocessor (not all select-* stuff implemented currently) 2022-02-18 09:44:25 +02: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
ralf
e3113455cc taking modification time of api/etemplate.php script into account too for .xet cache-buster 2022-02-16 20:14:38 +02: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
22954466c8 improve logging of updating SQL statements to given table(s) 2022-02-16 14:06:36 +02:00
ralf
a7ba4c0727 enable web-components for all date and select (without tags or search attribute)
also reverting unnecessary explicit changes to et2-* in infolog.edit
2022-02-16 10:38:28 +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
ralf
5ff64259ee switch simple/untyped r/w selectboxes on to use web-components 2022-02-15 09:17:14 +02:00
nathan
0fb32b7a6a Fix JS error when cleaning up after printing (TS conversion issue) 2022-02-14 11:00:22 -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
c964ccd584 - Fix 'Forgot password' could not complete due to redirect
- Avoid error if no groups selected in registration configuration
2022-02-08 15:26:52 -07:00
nathan
650d76bd5c Common cleaning of r/o select value 2022-02-07 13:51:05 -07:00
Ralf Becker
33db2190b0 Changelog for 21.1.20220207 2022-02-07 18:01:30 +02:00
Ralf Becker
dfb1f326ac fix call to undefined method EGroupware\Api\Framework\Login::deny_screen() 2022-02-07 12:12:48 +02:00
Ralf Becker
1498a8f9e0 pending translations from our translation server 2022-02-07 07:58:11 +01: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
Ralf Becker
f23a800f83 add missing $relpath 2022-02-03 15:39:33 +02:00
Ralf Becker
10d61dd4c7 extract data-preparation from Etemplate\Widget\Vfs::beforeSendToClient() to use it to send the data to client-side in an AJAX call 2022-02-03 15:33:10 +02: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
Ralf Becker
855b786d97 fix get_file_id() (sometimes) not finding the right id for shared directories or writable Collabora shares 2022-01-27 21:15:36 +02:00
nathan
09c210415e Make sure we use the lowest file_id, even if that comes from a disabled file, so we're consistent with versioned files 2022-01-26 12:54:00 -07:00
nathan
048b3c015f Collabora: Use the same file ID when accessing via share 2022-01-25 15:11:18 -07: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
c29afdd7d2 Fix buttons used in mail expanded area e.g. mail attachments area 2022-01-24 17:02:34 +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
Hadi Nategh
812b126e85 Fix missing space between dialog footer border and buttons 2022-01-21 13:31:24 +01: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
a2c75f0722 Fix buttons inside toolbars not getting the right background 2022-01-20 16:45:23 +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
Ralf Becker
a09c6d3639 do NOT handle / redirect for not found eT2 session in ajax_destroy_session()
as it's called, when the session is no longer needed
2022-01-19 20:16:28 +02: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
49cac615d7 fixing the fix ;)
call_user_func_array(): Argument #1 ($callback) must be a valid callback, class admin_account does not have a method "ajax_process_content"
2022-01-12 13:32:48 +02:00
Ralf Becker
1d462dabfd fix Error Method admin_account::delete::et2_process() does not exist 2022-01-12 13:00:04 +02: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
Ralf Becker
8a629a5ef7 fix not closing popups when using et2_process json.php handler 2022-01-10 19:55:05 +02: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
fc9ab417ed run quota-recalc only if fsck fixed something 2022-01-09 17:31:44 +02: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
Ralf Becker
e2c09aa1b0 * Filemanager/API: directory size is now the sum of the size of its contained files (allowing to eg. implement quota in future) 2021-12-30 14:37:58 +02:00
Ralf Becker
578accd72f allow to pass url including http(s) scheme to Html::link($url, ...) and therefore other methods of Html class 2021-12-23 10:01:29 +02:00
nathan
0f45aed876 Reflect properties into DOM attributes, it's faster 2021-12-21 11:16:58 -07:00
nathan
5bdf12f1b9 - Detached widgets still need a loadingFinished() for if they are children of legacy widgets
- Add description click handler
2021-12-21 10:52:39 -07:00
nathan
602ac44c15 Fix readonly webcomponents inside a legacy widget were not loaded as readonly 2021-12-21 10:50:21 -07:00
nathan
fa707f0627 Fix widget.egw() returning null in some cases when widget parent was not completely in widget tree 2021-12-21 10:45:38 -07:00
nathan
7fcf6f1423 Add some more properties for description
activate_links
extra_link_target
extra_link_popup
href
2021-12-20 15:15:32 -07:00
nathan
e1ab343a5d WIP on Et2Description. Shows improvement in nm render speed. 2021-12-17 14:47:19 -07:00
nathan
4e597b5672 Add date readonly, some class optimizing 2021-12-17 10:06:37 -07:00
nathan
ccfcf2a086 Add a hook for before get_rows is called 2021-12-16 14:43:33 -07:00
nathan
3f71a75c86 Avoid error if expand finds nothing for the value (returns null) 2021-12-16 13:05:13 -07:00
nathan
9a3753eb93 Lets try this fix for the ID problem 2021-12-16 11:28:07 -07:00
Ralf Becker
08da663007 fix PHP Warning: explode(): Empty delimiter 2021-12-16 20:22:57 +02:00
Ralf Becker
ff47694b24 fix still not working sync-report for accounts addressbook
turns out Microsoft AD also returns a "Virtual List View error" if sorting by standard LDAP (modify|created)timestamp, have to use when(Changed|Created) instead, as for filter
2021-12-16 20:07:57 +02:00
Hadi Nategh
170ac4d6e2 Fix error Cannot read properties of null (reading 'split') 2021-12-16 11:39:43 +01:00
nathan
a027649ae5 Fix the failing clone() 2021-12-15 11:49:18 -07:00
Hadi Nategh
8f81266b1d Fix styling for buttons supposed to be displayed with max content (e.g. some nm header buttons) 2021-12-15 16:08:41 +01:00
nathan
528134cfac Adapt nextmatch to work with webcomponents + readonly datetime widget 2021-12-14 16:55:57 -07:00
Ralf Becker
dc8b0a7080 fix SQLfs fsck to query errors in chunks of 500, in case there are a huge numbers of them 2021-12-14 21:25:07 +02:00
nathan
a7a84df7e5 Etemplate: Set a gap instead of using margin 2021-12-14 08:55:34 -07:00
Hadi Nategh
b648d4593d Add colorpicker into ready WC widgets 2021-12-14 14:47:58 +01:00
nathan
0ea746a1a6 Api: Fix missing link delete button from link list 2021-12-13 09:16:35 -07:00
Hadi Nategh
ebfa396195 Decode html entities used in inline image sources because tinymce encodes them 2021-12-13 16:40:32 +01:00
nathan
d7a001cef0 Documentation fix 2021-12-10 13:42:38 -07:00
nathan
ea2004173f Etemplate: Fix readonly was still giving a value 2021-12-10 13:24:06 -07:00
nathan
82b3abc290 Etemplate: Some more tests for readonly 2021-12-10 11:15:02 -07:00
nathan
684d0846dc Api: Attributes can contain multiple translatable substrings wrapped with {} 2021-12-09 11:32:31 -07:00
nathan
081b692dd1 Fix webcomponent children were not fully loaded before et2_ready callback was called 2021-12-09 10:54:37 -07:00
nathan
4fe9f6c614 Api: Stop images inside boxes from stretching 2021-12-09 09:26:58 -07:00
Hadi Nategh
d42f20cf38 Fix issue contact plus button sometimes gets stuck 2021-12-09 15:08:42 +01:00
nathan
f126d7fd08 Fix wrong sizing on link list file mimetype icons 2021-12-07 16:28:48 -07:00
nathan
6f5cc48098 Fix wrong sizing on contact list avatar image 2021-12-07 15:42:15 -07:00
nathan
e80f272a07 Fix streched infolog type icons 2021-12-07 14:35:28 -07:00
nathan
50f4b5cd47 Fix missing calendar participant + button
set_readonly() was missing, getWindowTitle() was using .options.value instead of get_value()
2021-12-07 13:36:53 -07:00
nathan
a73f0771e6 Fix TypeError: Cannot read properties of undefined (reading 'position')
Caused by LitElement not having a styles property.  Just skip those to avoid the error
2021-12-06 14:42:17 -07:00
nathan
d69d57e6e9 Merge branch 'master' into web-components 2021-12-06 10:52:10 -07:00
Hadi Nategh
c115e762b1 Add underline button into html editor's toolbar 2021-12-06 10:14:37 +01:00
Ralf Becker
af08ee1495 pending translations from our translation server 2021-12-04 15:44:14 +01:00
nathan
d126834468 * Etemplate: Add link icon overlay to link list 2021-12-03 14:28:54 -07:00
nathan
98882c3159 Replace hyphen in utf-8 2021-12-03 14:28:54 -07:00
nathan
41c2f0c92b Api: Force merge placeholder charset to UTF-8, avoids mangled accent characters 2021-12-03 14:28:54 -07:00
Ralf Becker
cda751ac58 fix broken filemanager after PM integration commit
array_merge_recursive accumulates values in sub-arrays:
array_merge_recursive(['nm'=>['get_rows'=>'a.c.m']], ['nm'=>['get_rows'=>'a.c.m']]) === ['nm'=>['get_rows'=>['a.c.m','a.c.m']]
2021-12-03 14:28:54 -07:00
Ralf Becker
ec4edf84d8 * CardDAV/ActiveDirectory: fix empty account-addressbook if sync-collection-report is used
Microsoft AD can NOT filter by (modify|create)TimeStamp, we have to use when(Created|Changed) attribute
2021-12-03 14:28:54 -07:00
nathan
5af7d0f644 * Etemplate: Add link icon overlay to link list 2021-12-03 14:18:48 -07:00
nathan
0e5e2f3ceb Replace hyphen in utf-8 2021-12-03 11:37:47 -07:00
nathan
2453bafbe9 Api: Force merge placeholder charset to UTF-8, avoids mangled accent characters 2021-12-03 11:36:02 -07:00
Ralf Becker
5bd2b86683 fix broken filemanager after PM integration commit
array_merge_recursive accumulates values in sub-arrays:
array_merge_recursive(['nm'=>['get_rows'=>'a.c.m']], ['nm'=>['get_rows'=>'a.c.m']]) === ['nm'=>['get_rows'=>['a.c.m','a.c.m']]
2021-12-02 22:18:41 +02:00
Ralf Becker
4d014fab49 * CardDAV/ActiveDirectory: fix empty account-addressbook if sync-collection-report is used
Microsoft AD can NOT filter by (modify|create)TimeStamp, we have to use when(Created|Changed) attribute
2021-12-02 20:09:08 +02:00
nathan
2545c8fde1 Merge branch 'master' into web-components 2021-12-01 15:31:45 -07:00
Ralf Becker
c688315141 fix syntax error under PHP 7.3
7.3 is still the minimum requirement for 21.1
2021-12-01 19:59:41 +02:00
nathan
26595b4cba * Projectmanager: Add calendar integration so projects can be shown as events in calendar 2021-12-01 10:32:32 -07:00
Ralf Becker
0685005f41 * Guacamole/Backup/Restore: fix not working restore for Guacamole
disabling constraints and only truncate Guacamole tables, not dropping and creating them again
2021-11-30 21:56:17 +02:00
Ralf Becker
5cd4fc0612 Changelog for 21.1.20211130 2021-11-30 11:17:50 +02:00
Ralf Becker
33ec3f05a7 fix Undefined array key warning 2021-11-29 16:45:48 +02:00
Ralf Becker
0a2488ed99 fix a couple of Undefined array key warnings 2021-11-29 16:35:50 +02:00
Ralf Becker
cbb72e06d9 fix / work around PHP 8.0 Error Call to undefined method EGroupware\Api\Etemplate\Widget\Vfs::set_attrs() 2021-11-24 20:57:45 +01:00
nathan
da6ff9d639 Merge branch 'master' into web-components 2021-11-24 09:42:28 -07:00
Ralf Becker
68a79dce6a fix PHP 8.0 TypeError: Unsupported operand types 2021-11-23 18:07:49 +01:00
Ralf Becker
4bf375c970 fix PHP 8.0 TypeError: Illegal offset type 2021-11-23 17:44:46 +01:00
Ralf Becker
ce76fa5d7f fix PHP 8.0 TypeError: Unsupported operand types: string & int 2021-11-23 17:23:49 +01:00
nathan
32d5bae817 Fix nm left template in wrong place 2021-11-19 11:57:22 -07:00
Ralf Becker
47b3f5c239 fix PHP 8.0 TypeError: array_keys(): Argument #1 ($array) must be of type array, null given 2021-11-19 13:00:51 +01:00
nathan
105b0705b1 - Fix duplicated row from template above nextmatch
- Fix favorite in wrong place
2021-11-18 14:37:23 -07:00
nathan
7831529ecb Improve warning about parenting for WC widgets into legacy widgets 2021-11-18 14:34:13 -07:00
nathan
b91e1d8a5f Merge branch 'master' into web-components 2021-11-18 10:28:30 -07:00
Ralf Becker
1f50b3b0c5 fix PHP 8.0 ArgumentCountError: readlink() expects exactly 1 argument, 2 given 2021-11-17 20:24:19 +01:00
nathan
bc18846d75 Improve logging message to include values instead of 'Array' 2021-11-17 08:49:32 -07:00
Ralf Becker
bbc7fb93de fix PHP 8.0 TypeError: in_array(): Argument #2 ($haystack) must be of type array, null given 2021-11-16 18:20:35 +01:00
Ralf Becker
dfb1a3be22 fix PHP 8.0 TypeError: Cannot access offset of type string on string 2021-11-15 16:01:11 +01:00
Ralf Becker
d83f04bd49 fix PHP 8.0 TypeError: Cannot access offset of type string on string 2021-11-15 15:03:51 +01:00
Ralf Becker
be1920b687 fix PHP 8.0 TypeError: array_keys(): Argument #1 ($array) must be of type array, null given 2021-11-13 17:39:33 +01:00
Ralf Becker
11e630da2a fix PHP 8.0 TypeError: fwrite(): Argument #2 ($data) must be of type string, array given 2021-11-13 17:30:57 +01:00
Ralf Becker
587a9c0a88 fix PHP 8.0 TypeError: in_array(): Argument #2 ($haystack) must be of type array, null given 2021-11-13 17:24:31 +01:00
Ralf Becker
8063b9a8ef fix PHP 8.0 TypeError: array_merge(): Argument #1 must be of type array, null given 2021-11-13 17:18:21 +01:00
Ralf Becker
e95edf60ec fix PHP 8.0 TypeError: Unsupported operand types: string + int 2021-11-13 17:05:20 +01:00
Ralf Becker
b18d1da363 fix PHP 8.0 TypeError: ZipArchive::setCommentName(): Argument #2 ($comment) must be of type string, array given 2021-11-13 17:01:43 +01:00
Ralf Becker
392a27b77c try fixing an other case where an unrelated XML error was reported
Error passing XML file '<text type="text" id="#Kunde_Firma"/>' line 12: EndTag: '</' not found
There is obviously no line 12 ;)
2021-11-11 09:49:31 +01:00
Ralf Becker
59eff1db26 quieten permanent log of search links for non-ascii project-names etc. 2021-11-11 09:10:34 +01:00
Ralf Becker
146e94160f check we have an email to send the mdn to (otherwise Horde_Mime_Mdn throws a RuntimeException) 2021-11-11 08:30:15 +01:00
Ralf Becker
c221253a82 fix PHP 8.0 TypeError: Unsupported operand types: string & int 2021-11-11 07:59:54 +01:00
nathan
52a2d4e9bb Clear tree before setting options to avoid duplicates 2021-11-10 15:00:32 -07:00
nathan
d15d7a3426 Implement parent_node attribute
Fixes calendar sidebox was not shown
2021-11-10 13:41:23 -07:00
nathan
7b11a25b8d Fix some legacy parent issues where parent DOM node was not found when needed
- Checking & waiting for promises
- Could not get DOM nodes from nm header sub-templates
2021-11-10 11:47:07 -07:00
nathan
ed66beaf8f Merge branch 'master' into web-components 2021-11-10 10:25:51 -07:00
Ralf Becker
577ff9dd26 fix unrelated XML errors sometimes shown parsing eTemplates 2021-11-10 13:55:48 +01:00
Ralf Becker
c1dfa685ec fix PHP 8.0 TypeError: array_merge(): Argument #2 must be of type array, null given 2021-11-10 12:47:05 +01:00
Ralf Becker
1ea91d8721 fix/catch PHP 8.0 ValueError: mb_convert_encoding(): Argument #3 ($from_encoding) contains invalid encoding "cp1250" 2021-11-10 12:43:03 +01:00
Ralf Becker
03835c0247 fix PHP 8.0 TypeError: strpos(): Argument #1 ($haystack) must be of type string, array given 2021-11-10 12:14:58 +01:00
nathan
a717234b2f Merge branch 'master' into web-components 2021-11-09 15:02:25 -07:00
nathan
2ce96a6f8d Maybe fix SQL error from searching contacts with private + duplicates 2021-11-09 14:33:37 -07:00
Hadi Nategh
5cf0ced64a Add missing jquery-ui.min.js 2021-11-09 11:46:10 +01:00
Ralf Becker
867726f5c9 * LDAP/Addressbook: fix region contains for given country invalid value gives an LDAP error on update
cause by trying to write NULL, which is not allowed, unsetting the attribute the proper way now
2021-11-09 11:06:43 +01:00
Hadi Nategh
968774d829 Update jQuery-ui to 1.13.0 2021-11-09 11:06:17 +01:00
Ralf Becker
7020030c17 fix PHP 8.0 problem "new" > 0 causing mail accounts created via admin for an other user to fail 2021-11-09 08:02:49 +01:00
nathan
c7e6baed69 Fix datetime didn't handle '0' as empty / blank 2021-11-08 13:40:28 -07:00
nathan
f4ad6c6dbc Merge branch 'master' into web-components 2021-11-08 09:23:48 -07:00
Ralf Becker
74cc2f03ff fix PHP 8.0 TypeError: Api\Accounts::username(): Argument #1 ($account_id) must be of type ?int, string given
new method for account link-title not throwing an error, for non-numeric arguments and therefore stalling all titles
2021-11-08 12:22:41 +01:00
Ralf Becker
02270f63fb fix PHP 8.0 TypeError: Exception::__construct(): Argument #2 ($code) must be of type int, string given 2021-11-08 11:36:25 +01:00
nathan
e03b8bbdc9 Merge branch 'master' into web-components 2021-11-05 11:08:31 -06:00
Ralf Becker
2f1559a490 fix PHP 8.0 TypeError: count(): Argument #1 ($value) must be of type Countable|array, null given 2021-11-05 15:18:57 +01:00
Ralf Becker
9fbd07e335 fix PHP 8.0 TypeError: Unsupported operand types: null + array 2021-11-05 14:49:56 +01:00
Ralf Becker
de7f4329ff fix PHP 8.0 TypeError: uasort(): Argument #1 ($array) must be of type array, null given 2021-11-05 14:37:21 +01:00
Ralf Becker
57ac760a78 fix PHP 8.0 ValueError: stripos(): Argument #3 ($offset) must be contained in argument #1 ($haystack) 2021-11-05 11:38:49 +01:00
Ralf Becker
4db49da7e5 fix PHP 8.0 error: trim expects string, array given
removed trim
2021-11-05 09:08:17 +01:00
Hadi Nategh
201d1f9972 Fix PHP8.0 error (TypeError): strlen(): Argument #1 ($string) must be of type string, array given 2021-11-04 17:23:45 +01:00
nathan
b78b7c3960 Fix formatter tests to work independant of timezone when run 2021-11-04 09:25:37 -06:00
nathan
b7daf84d90 Merge branch 'master' into web-components 2021-11-04 09:24:37 -06:00
Hadi Nategh
62fcc3156c Fix PHP8.0 (TypeError): explode(): Argument #2 ($string) must be of type string, array given 2021-11-04 14:30:23 +01:00
Hadi Nategh
1f28336702 Fix stripos(): Argument #3 ($offset) must be contained in argument #1 ($haystack) by preventing empty html value being processed 2021-11-04 14:12:21 +01:00
nathan
ca429d0fae Tests for date + time parsing & formatting, and fixing the bugs they revealed 2021-11-03 13:49:39 -06:00
nathan
672ed0aa0e - DateTime widget to handle dates with times
- Time & Date+time parser & formatter functions
- Date widget does not return a time
2021-11-03 09:05:16 -06:00
Ralf Becker
d04b98e64c * Filemanager: fix not working variables eg. $user in GUI mount (Admin > Filemanager)
also support no user/password for sharing links
2021-11-03 14:54:22 +01:00
Hadi Nategh
f21127df8f * Filemanager: Fix video controller not working in filemanager gallery 2021-11-02 17:43:56 +01:00
nathan
312bf62adc Implement readonly for date widget 2021-11-01 10:21:08 -06:00