Commit Graph

977 Commits

Author SHA1 Message Date
nathangray
ba7cbc5d5a Etemplate: Make child nodes protected instead of private for easier extending 2020-09-28 10:05:32 -06:00
nathangray
53577db40c Etemplate: fix for better behaviour if lazy-update pref is not set 2020-09-28 08:51:46 -06:00
Hadi Nategh
cdbc5e3a71 Create new sidemenuEntry for tab target 2020-09-28 15:43:42 +02:00
Hadi Nategh
acbd23a60a * Mail: Add custom html toolbar settings in mail site-configuration in order to be able to add/remove certain actions only for mail-compose dialog. 2020-09-25 14:17:29 +02:00
Hadi Nategh
f88ae4f46a Merge branch 'multitabs' 2020-09-25 11:30:32 +02:00
nathangray
293f9cc446 Etemplate: Different way to download generated files to avoid destroying sessions of not-visible etemplates 2020-09-24 15:18:22 -06:00
Hadi Nategh
4bf65486ef WIP of framework's multitab implementation 2020-09-23 16:55:35 +02:00
nathangray
2ef359f0d0 Etemplate: Fix selectAccount deprecated legacy option of putting account type in empty label 2020-09-16 09:14:50 -06:00
nathangray
39b630d36e Etemplate: Fix some selectAccount bugs when multiple=true 2020-09-15 11:23:02 -06:00
nathangray
afb342f66b Etemplate: Ask for new data before we put the row in, then if the entry doesn't match the filters, don't put it in. Should stop most blinking rows. 2020-09-15 09:05:25 -06:00
nathangray
47a1437e1b Etemplate: Consider null as false when parsing boolean values into template attributes 2020-09-14 09:37:37 -06:00
nathangray
459ba3d93c * Etemplate: Fix historylog did not render until you resize the window 2020-09-11 13:12:09 -06:00
Ralf Becker
638da52fa9 fix date-duration fails with only one date-format eg. "m" 2020-09-11 20:22:51 +02:00
nathangray
56e1d3c5e5 Etemplate: Fix some missing includes 2020-09-10 16:59:34 -06:00
nathangray
d6d55c32a9 Etemplate: Fix updated entries were sometimes not flagged, clear color after 3 minutes 2020-09-10 13:42:32 -06:00
nathangray
2dc5616b96 Separate CRM list from infolog list so push updates don't conflict 2020-09-03 09:58:27 -06:00
nathangray
210c54b689 Etemplate: More fixes for row count when updating / adding
Now fixed the situation where 1 row was updated & 1 added, but the added one did not match filter and was not returned when server was asked.  Now removed blank row waiting for it, and keeping row count consistent
2020-09-01 14:49:06 -06:00
nathangray
b7b4cb31c8 Etemplate: Row count does not depend on data.class 2020-09-01 12:22:47 -06:00
nathangray
df57ea914e Etemplate: Fix another bug in refresh / add / update
This one was found in Infolog, adding a sub to an entry with the show-subs preference set to only while filtering.  The row count would be off by one if the new entry did not match the filter.
2020-09-01 11:54:35 -06:00
nathangray
3ff331c22b Etemplate: Avoid trying to repaint datagrid while it's hidden
Avoids an infinite(?) loop and endless "[Violation] 'setTimeout' handler took <N>ms" messages
2020-08-31 14:06:18 -06:00
nathangray
1ad5d321a4 Etemplate: Fix double duration format in timesheet nextmatch header 2020-08-28 13:53:23 -06:00
nathangray
6b5414904f Remove workaround, fix 3 second refresh 2020-08-26 14:39:39 -06:00
nathangray
a013d78947 Partially revert 26a6749 as it's been handled elsewhere
(030dafc0a7c9bdc6677afe87fa69615068acb4c0,d525347275a2268ed9624d35ddbd4e43a345179d)
2020-08-26 13:47:11 -06:00
nathangray
075c44a48b Etemplate: Don't try to delete row if it's not in the nextmatch 2020-08-26 11:24:15 -06:00
nathangray
d525347275 Fix nm displayed row count was not updated when adding a row.
This seems to have resolved the issue of the last row going missing.
2020-08-26 09:26:18 -06:00
nathangray
030dafc0a7 Etemplate: Fix some nm / push bugs
- Handling for sub-grids
- Fix some index issues in selectionMgr causing rows to jump around
2020-08-25 15:57:20 -06:00
nathangray
8cd05c571b Add debug function to log selected nextmatch internals
Example usage:
etemplate2.getByApplication('addressbook')[0].widgetContainer.getDOMWidgetById('nm').spillYourGuts()
2020-08-25 14:01:31 -06:00
Hadi Nategh
6c9e83b38a Fix set column not working because of using wrong constant variable 2020-08-20 16:47:38 +02:00
Hadi Nategh
71605c0c14 * All Apps: fix print list column selection does not contain customfields 2020-08-20 16:18:39 +02:00
Hadi Nategh
d48efdedd8 Make commit 26a6749b3d condition available only for refresh add 2020-08-20 15:19:15 +02:00
Hadi Nategh
f63a0a6075 Fix radiobox widget calling onchange event infinitely 2020-08-18 13:20:29 +02:00
Ralf Becker
26a6749b3d * All apps: fix last rows was removed when adding new entry to list with only a couple of rows
see ticket #48204, we do a full refresh now to work around this issue until we have a real fix
2020-08-17 12:15:40 +02:00
Ralf Becker
e3434b144d fix sometimes not deleted infologs ("0 selected"), because global var got deleted, using now a closure as for the action 2020-08-16 11:22:16 +02:00
Hadi Nategh
8bbb05a596 Fix clear button in search widget disappears after being reloaded 2020-08-14 13:35:30 +02:00
Hadi Nategh
31241227e1 * File Sharing: fix broken file sharing dialog 2020-08-13 14:35:09 +02:00
Hadi Nategh
fe47a2af28 A temporary fix for commit 471741ce12 which breaks nm row update with auto refresh enabled 2020-08-12 12:04:03 +02:00
Hadi Nategh
06e770f469 Fix nm filter onchange no longer sending expected nm widget 2020-08-11 15:45:40 +02:00
nathangray
036ec20769 Fix some nextmatch bugs
- Removed rows could still have jQuery actions bound, resulting in errors
- Focused row was not cleared if it was removed, resulting in errors
- Fixed double get_rows call on refresh(..., update)
2020-08-08 10:51:39 -06:00
nathangray
afec14a17e Fix removing a nm row did not re-index
This caused duplications or holes depending on what you did before or after
2020-08-07 14:12:30 -06:00
nathangray
ff35f58f73 Change addressbook group / template on client side, not server side
Fixes the issue where the nextmatch_controller is part of the context for the request, but the first thing set_template() does when the server tells the nextmatch to change the template is destroy the controller.  This means that when the data is parsed, the context is missing or damaged.
2020-08-07 13:18:41 -06:00
nathangray
bec67d63ee Etemplate: Change how nextmatch handles update & refresh push messages 2020-08-07 09:19:15 -06:00
nathangray
dadf0fe993 Etemplate: Fix et2_selectAccount legacy options were not set 2020-08-06 16:39:59 -06:00
nathangray
29b22e336e Fix CRM view did not add new infolog entries on push 2020-08-06 12:49:33 -06:00
nathangray
2cf0e7732d Fix update was doing full refresh, changed back to previous behaviour
Left 'update-in-place', as discussed, as it's way more clear what it does.
2020-08-06 09:14:41 -06:00
nathangray
faed2f97d4 Etemplate: Add et2_nextmatch.set_disable_autorefresh() to change it dynamically 2020-08-06 08:40:41 -06:00
Hadi Nategh
e3c356b2c2 Add missing compiled js file from commit 13ed300c9c 2020-08-06 10:37:56 +02:00
nathangray
fba4323765 Etemplate: add disable_autorefresh attribute to nextmatch to be able to disable autorefresh 2020-08-05 11:21:33 -06:00
nathangray
13ed300c9c * Etemplate: Fix entry widget had wrong ID, so was missing value
Typescript conversion error
2020-08-05 10:36:42 -06:00
nathangray
88b7bccdb9 Etemplate: Password suggest now works if started disabled then enabled via JS 2020-07-30 13:50:12 -06:00
nathangray
5379a0c924 Home using non-global EgwApp instances for portlets 2020-07-30 13:00:53 -06:00
nathangray
80b72bfb3c Etemplate: Fix password widget did not disable suggest dynamically 2020-07-30 09:21:40 -10:00
nathangray
471741ce12 Etemplate: Update controller indexMap when adding a new row
Fixes deleting former top mail that got moved down by a pushed new mail removed both newly added and the selected mail
2020-07-29 13:20:09 -06:00
Ralf Becker
08acad038c * Mail: replying to a mail should only update icon, not move it to top of list 2020-07-29 13:58:15 +02:00
nathangray
bd8b99f8c1 Try to fix up password with respect to autofill 2020-07-28 10:39:16 -06:00
nathangray
59cd2dcded Etemplate: nm.refresh() with type 'edit' no longer always fully reloads all rows, it now behaves the same as 'update' 2020-07-27 14:07:15 -06:00
nathangray
77a413b66b Etemplate: Fix isDirty() was always false for multi-select (tracker selection) 2020-07-27 13:44:11 -06:00
nathangray
b6e47f9b11 Etemplate: Password widget now auto-updates the second 'confirm' password if you have two and suggest a password. 2020-07-23 13:56:14 -06:00
nathangray
3e9794e526 Etemplate: Do not bother to resize hidden etemplates
Fixes Admin > App > Site config gets resized incorrectly when switching to another app's tab & back
2020-07-22 15:51:42 -06:00
Ralf Becker
4b9be2876e fix new mail rows appear no unseen 2020-07-22 21:32:48 +02:00
nathangray
a6688ab3f8 Etemplate: Allow app to specify a new row index for updated rows as well. 2020-07-22 12:00:01 -06:00
Ralf Becker
32043f7a41 trigger full refresh / applyFilters, if app refresh_add returns false 2020-07-22 16:58:40 +02:00
nathangray
32b061919f Etemplate: Change default for password widget suggest to off
Customfields still default to on
2020-07-21 15:36:45 -06:00
nathangray
f0b924008b Etemplate: Add a callback so apps can decide where to put new push rows 2020-07-21 15:32:22 -06:00
Ralf Becker
8e213a7de5 set id of DOM container, in case server-side returned a different eTemplate 2020-07-21 22:05:08 +02:00
nathangray
bd6b20bae8 Fix home cannot find its portlet templates
This reverts commit ff0cdf8143.
2020-07-20 14:34:10 -06:00
nathangray
69420c19ad Api: Handle add push messages in the nextmatch list 2020-07-20 13:43:26 -06:00
Hadi Nategh
fcd7a77c44 Fixing none app static functions stopped being called relevant to commit 52eb5ca8e0 2020-07-15 11:01:34 +02:00
Hadi Nategh
b29cce05be Fix searchbox no longer works in mobile template 2020-07-14 12:17:15 +02:00
nathangray
31b7c49fd3 Etemplate: Avoid error if sender is not passed 2020-07-10 13:30:47 -06:00
nathangray
af4fcd7a2d Etemplate: Avoid trying to process regexes by checking for end anchor 2020-07-10 13:27:48 -06:00
nathangray
13842ffb79 * Infolog: Add filter by contact to export filters 2020-07-10 13:13:04 -06:00
nathangray
510a6419c5 Etemplate: Avoid error if file_data.mime is false for some reason
(file missing)
2020-07-10 11:11:05 -06:00
Hadi Nategh
146cba903b Add missing part from commit 4c7709d49f 2020-07-10 13:16:50 +02:00
nathangray
4fc02fbe20 Etemplate: Fix searchbox did not properly manage child DOM nodes 2020-07-08 14:34:50 -06:00
nathangray
9cb143d0d3 Etemplate: Prevent dialogs from destroying parent's request 2020-07-08 11:01:05 -06:00
Ralf Becker
34cbc6880a step attribute for number widget 2020-07-06 18:24:07 +02:00
nathangray
4c7709d49f Etemplate: Get vfsUpload values to use expose so they work like links 2020-07-03 14:23:41 -06:00
nathangray
e80c118aa8 Etemplate: Replace resetDirty(), it's needed for IInput interface 2020-07-02 11:19:11 -06:00
nathangray
7278b30ff0 Actually set the default cf prefix so everything works. 2020-07-02 09:40:09 -06:00
nathangray
5958feb1c3 Etemplate: add customfield prefix as an explicit attribute, importexport filter was using it 2020-06-30 10:43:41 -06:00
nathangray
57d03110e4 Etemplate: If long task response is an object, stringify the object so we can see what it says 2020-06-29 14:08:02 -06:00
nathangray
b057f95a5a Close confirm improvements & fixes
- Toolbars are now always not dirty
2020-06-29 13:23:17 -06:00
nathangray
10846271f1 Close confirm improvements & fixes
- nextmatch is now always not dirty
- Logging the dirty widgets to console
- Fix searchbox did not fully doLoadingFinished()
2020-06-29 11:55:35 -06:00
nathangray
a50ede7967 Avoid errors from close confirm changes if button is not fully created. 2020-06-29 10:54:14 -06:00
nathangray
175c1fe369 Fix selectbox resetDirty() 2020-06-25 10:31:48 -06:00
Hadi Nategh
8863f28e37 Revert it because it has caused a weird issue regarding our nextmatch filters 2020-06-25 14:17:00 +02:00
nathangray
143be4dc98 Etemplate: Cancel buttons do not trigger the change/close prompt 2020-06-24 10:37:57 -06:00
nathangray
74284afc07 Fix htmlarea.isDirty() was using the pre-editor initialization value causing it to always be true 2020-06-24 09:58:18 -06:00
nathangray
10b2eda4ac Fix bug in isDirty() causing error for some widgets, which broke onbeforeclose 2020-06-24 09:40:35 -06:00
nathangray
03e08be0e6 Etemplate: Changing the tab doesn't count as making any data dirty 2020-06-23 13:37:31 -06:00
nathangray
52714f0a63 Etemplate: Check dirty before closing, ask if there are changes 2020-06-19 13:27:41 -06:00
Hadi Nategh
b95e9be02a Cleanup widget browser 2020-06-18 14:58:24 +02:00
nathangray
31f20d9783 Etemplate: Fix history widget lost some widgets when converted to TypeScript 2020-06-16 10:58:03 -06:00
nathangray
b56a8f9901 Default password customfield plaintext attribute to false 2020-06-16 09:23:54 -06:00
Ralf Becker
2c489ef5b8 change default for password attribute plaintext back to true, to not break every existing usage of that widget 2020-06-16 08:37:51 +02:00
nathangray
d7d5837ecf Nicer password widget on account edit dialog
- Added plain-text attribute to avoid encrypting password
- Suggest password now fills both fields the same
2020-06-15 16:08:24 -06:00
nathangray
8020464dde Fix column could not be found due to wrong IDs used 2020-06-15 11:42:45 -06:00
nathangray
fb27dc66da * Etemplate: Password widget improvements - suggest password button, added as custom field type (stored encrypted) 2020-06-12 11:03:42 -06:00
nathangray
aab5415873 * Etemplate: Password widget improvements - suggest password button, added as custom field type (stored encrypted) 2020-06-12 10:56:53 -06:00
nathangray
a993938134 Etemplate: Fix VFS & file widgets were not properly handling files 2020-06-10 10:20:30 -06:00
Hadi Nategh
06d6887744 Fix error select-account widget is not supported in et2_menulist widget 2020-06-10 13:32:33 +02:00
nathangray
676be91387 Etemplate: Fix TypeScript conversion error in historylog widget
Legacy options could not be accessed
2020-06-09 15:21:34 -06:00
nathangray
03a5620ea9 Api: Fix nm columns disabled via content could break subsequent columns, giving JS error
"Uncaught TypeError: Cannot read property 'getAttribute' of undefined"
2020-06-09 13:56:52 -06:00
Ralf Becker
ff0cdf8143 set id of DOMContainer, in case it changed because server-side send a different template 2020-06-04 17:04:32 +02:00
Ralf Becker
25615d7ee0 fix not working file upload, if not mime-type specified 2020-06-02 18:53:33 +02:00
Hadi Nategh
1a91dfab7d Fix not working regexp mime type attribute in file widget 2020-06-02 14:39:43 +02:00
nathangray
ce393e0803 Remove et2_types 2020-05-29 11:21:17 -06:00
Hadi Nategh
bf1ed9a0d6 Remove type restriction for getEntry, the data send to client could have all sort of types 2020-05-27 11:11:06 +02:00
Hadi Nategh
f9e0d9a6c2 Add missing js file from commit da806d33f5 2020-05-27 10:46:34 +02:00
Ralf Becker
064054af82 fix an other case of using window.top directly 2020-05-26 10:23:40 +02:00
nathangray
bdbf28cd2c Change helper function getValueWidgetById() to the more useful getInputWidgetById() 2020-05-25 11:02:12 -06:00
nathangray
82215f292d Api: Fix some favorite widget bugs
- Infolog preferred favorite was not loaded
- Fixed vertical alignment of widget 'Add current' icon
2020-05-22 10:50:58 -06:00
Hadi Nategh
4a4f2a03b9 Make taglist widget exportable 2020-05-22 10:15:24 +02:00
nathangray
866cc19440 Api: Fix favorites widget TypeScript conversion bugs 2020-05-20 15:27:38 -06:00
Ralf Becker
588cd10043 track top EGroupware window in egw object to be used as egw.top instead of window.top, which can throw a security exception 2020-05-18 20:55:57 +02:00
Hadi Nategh
5b8e02fded Add missing file from previous commit 2020-05-18 13:10:31 +02:00
Hadi Nategh
0d52104a68 Make radiobox widget exportable 2020-05-18 12:57:55 +02:00
nathangray
4ba7bac850 Add some convenience functions for faster widget access
These are only available on et2_container, so app.ts can use eg: this.et2.setWidgetById(...)

getDOMWidgetById(): Same as getWidgetById() it returns et2_DOMWidget instead of et2_widget
getValueWidgetById(): Same as getWidgetById(), but returns et2_valueWidget
getValueById(): Find a widget, get its value
setValueById(): Find a widget, set its value
setDisabledById(): Find a widget, set its disabled state.
2020-05-15 14:01:02 -06:00
nathangray
52eb5ca8e0 Don't bind context for app functions, they expect their own. 2020-05-15 11:15:30 -06:00
nathangray
934d309856 Make taglist-state update its own options when country code changes
Fixes bug where options were not properly set if they had to be fetched from server.
2020-05-13 15:21:26 -06:00
Hadi Nategh
f23b5aee82 Fix readonly checkbox not working 2020-05-13 12:00:06 +02:00
Hadi Nategh
0748fba70f Add readonly value to readonly option 2020-05-13 11:56:49 +02:00
Hadi Nategh
1dc1d07dea Implements set_readonly for radiobox 2020-05-13 11:55:22 +02:00
Hadi Nategh
538d25333e Add missing js file from previous commit 2020-05-13 11:39:38 +02:00
Hadi Nategh
b101d2e509 Disable checkbox properly when it contains label 2020-05-13 11:08:42 +02:00
nathangray
66ee6576f1 * Api: Can now select no color with color widget 2020-05-11 14:58:36 -06:00
Ralf Becker
4dc120a6d2 making video position available and a couple of documentation updates 2020-05-10 14:53:06 +02:00
Hadi Nategh
cf8f421c4d Fix radio widget onchange not being called when value is getting set 2020-05-08 15:22:28 +02:00
Ralf Becker
1d6033fb4e allow to use image spec like "api/mime128_video" for poster like for regular images 2020-05-08 12:20:37 +02:00
Hadi Nategh
5e703ab669 Register video widget 2020-05-07 16:14:07 +02:00
Hadi Nategh
c6200f9969 Make video widget extendable 2020-05-06 14:53:02 +02:00
nathangray
da806d33f5 Api: Fix reference to et2_url EMAIL_PREG 2020-05-05 15:12:00 -06:00
Hadi Nategh
0431911dd1 Add missing js file from previous commit 2020-04-29 12:29:35 +02:00
Hadi Nategh
e9510598d7 Add allow option to iframe widget 2020-04-29 12:23:49 +02:00
nathangray
5a1f642ce2 Make sure there are no parameters before trying nice check for function name 2020-04-24 11:23:03 -06:00
nathangray
eaafd5eb1f Get legacy JS parser to understand functions that don't start with "app." and don't have brackets in the attribute.
This covers widget or other non-app static functions (eg: et2_avatar.uploadAvatar_onFinish)
2020-04-23 11:33:24 -06:00
nathangray
ec6a3881e3 Still need to clear before loading or dialogs get doubled 2020-04-22 14:53:11 -06:00
Hadi Nategh
eb795d523b Alway prefer custom onFinishOne callback if it is set 2020-04-22 14:19:12 +02:00
nathangray
444babdbc8 Api: Take care of private app.js instances, make sure they're included in iteration.
Iterate over all app.js instances (public & private) using:
for (var app_obj of window.EgwApp) {...}
2020-04-21 15:36:17 -06:00
Hadi Nategh
6e73a2bb66 Fix submit buttons get disabled after file upload 2020-04-21 18:30:25 +02:00
Hadi Nategh
4803e7fcd5 Fix lavatar not generating any image 2020-04-21 15:18:44 +02:00
nathangray
d6a747e36b Fix missing translation reported by Stefan Unverricht
How did you get missed?
2020-04-15 11:47:22 -06:00
nathangray
dbb3b2688e Fix missing translation reported by Stefan Unverricht 2020-04-15 11:21:53 -06:00
nathangray
017fa60870 Fix missing translation reported by Stefan Unverricht 2020-04-15 10:06:09 -06:00
nathangray
8f8c437712 Try to avoid error from missing nodes
I suspect this is from either TypeScript conversion or nm node optimization, but can't duplicate it regularly
2020-04-14 15:03:32 -06:00
nathangray
5b115ec7d5 Try to avoid some errors loading nm by checking before setting 2020-04-14 14:14:29 -06:00
nathangray
821c8474c5 Fix link from VFS dialog did not open 2020-04-14 14:13:36 -06:00
nathangray
eda34d67b3 Fix some typescript bugs
- Don't default dialog width so the automatic calculations run
- Setting etemplate_exec_id after load doesn't work, moved to passing it in.  Fixes several file select issues
2020-04-09 14:26:57 -06:00
nathangray
bac1ff5a1d Port b6020ad from asig2016 to master 2020-04-09 12:39:16 -06:00
Hadi Nategh
99a9513236 Fix positon option in et2_dialog widget 2020-04-07 14:51:46 +02:00