Commit Graph

1009 Commits

Author SHA1 Message Date
nathangray
1ba23feb9c Etemplate: Fix nextmatch controller destroy() left some references
AJAX responses would then try to use them after the etemplate was destroyed, and fail.
2020-11-09 09:44:40 -07:00
nathangray
8b28d8ffd0 Etemplate: Include etemplate exec_id as sortable parameter 2020-11-04 15:15:31 -07:00
Ralf Becker
e98e91b9f3 give explicit select-options priority over querying accounts via link-widget, fixes not displayed addressbook for sharing 2020-11-02 09:09:46 +01:00
Ralf Becker
9021220f14 only return "" for blur-value, if browser does not support html5 placeholder 2020-10-29 11:00:45 +01:00
Ralf Becker
47da0f9bf8 * Addressbook: allow to configure sending fax via email by replacing the number with an email address 2020-10-28 13:30:28 +01:00
nathangray
7cfbf133cd Etemplate: Also expand grids if they're inside a box 2020-10-27 16:17:04 -06:00
nathangray
d16b91c901 Etemplate: Queue refresh() calls made while nextmatch is hidden.
Queue is limited in length, after too many refresh() calls, we throw away the queue and refresh the whole thing when nextmatch is visible again.
2020-10-22 15:53:59 -06:00
nathangray
3b90e1a50d Etemplate: Fix auto-refresh mixed up new rows 2020-10-22 13:40:38 -06:00
Hadi Nategh
7d1cd4c12c WIP Multitabs:
- Fix wrong ids generated for sideboxes
- Fix tab header refresh
2020-10-22 13:52:17 +02:00
nathangray
d1955419ee Etemplate: Fix flipping between 2 nextmatch filter values stopped updating results after 2 changes 2020-10-19 13:17:09 -06:00
Hadi Nategh
5288e3a0fd Make sure sender object is there before using it 2020-10-19 16:06:22 +02:00
Hadi Nategh
644feaffa4 * Filemanager: fix drag and drop a file no longer working from outside of browser into the list 2020-10-19 12:54:16 +02:00
Ralf Becker
fa98eb1071 fix a couple of errors stalling file uploades 2020-10-19 11:45:49 +02:00
nathangray
c78c8cc215 Etemplate: Make sure controller has current filters when created. Fixes scrolling to trigger fetching more rows did not pass initial filters. 2020-10-15 14:56:23 -06:00
nathangray
0df6306dc2 Etemplate: Fix multi-select / tags value sometimes got lost if we had to fetch options from the server 2020-10-15 11:22:45 -06:00
nathangray
758934c1e4 Etemplate: Fix printing ruined scrolling in nextmatch 2020-10-15 10:11:24 -06:00
nathangray
90080cc0e6 Etemplate: Fix extra rows stayed hidden after printing 2020-10-14 11:48:57 -06:00
nathangray
52b1cab8e1 Etemplate: Fix drag and drop linking made the rows involved disappear 2020-10-14 10:38:11 -06:00
Hadi Nategh
4f1ce8da48 Add table into toolbar list 2020-10-14 11:38:07 +02:00
Hadi Nategh
43600426c7 * Api: Add table button into html editor's toolbar 2020-10-14 11:05:51 +02:00
Hadi Nategh
2ed6f54e9b Updates tinymce to 5.5.1 and implements toolbar_mode option for htmlarea 2020-10-14 10:40:35 +02:00
Hadi Nategh
71dabcd33b Fix sorting for connectedWidth columns 2020-10-14 10:33:19 +02:00
nathangray
855d6defc9 Etemplate: Fix push add to an empty nextmatch would leave the 'No matches found' and throw errors for row actions 2020-10-09 10:15:17 -06:00
Hadi Nategh
23aea3b42e Make html widget exportable 2020-10-09 14:57:15 +02:00
nathangray
9c4f866382 Fix methods in hidden app objects could not be used as action handlers
Now nextmatch sets the etemplate's EgwApp object as context for the action manager.  Actions now check and will use the set context instead of global when binding to handlers
2020-10-08 14:57:45 -06:00
nathangray
ba0e1240c3 CRM: Fix some list bugs
- Adding an infolog did not show up
- CRM.ts got disconnected if infolog list got reloaded
2020-10-08 11:53:33 -06:00
Hadi Nategh
87b1b05730 Make htmlarea widget exportable 2020-10-08 12:15:08 +02:00
Ralf Becker
1c1ee3a25b execute non-http(s) links eg. tel: like before 2020-10-07 14:06:10 +02:00
Hadi Nategh
588a667137 Make et2_number widget exportable 2020-10-06 10:31:26 +02:00
nathangray
dd015a62a8 Etemplate: Avoid session destruction from PBX integration 2020-10-05 12:58:50 -06:00
nathangray
f07303b321 Etemplate: Fix editing entry so it no longer matched current filters would cause missing rows and incorrect total 2020-10-02 10:39:33 -06:00
Hadi Nategh
7f4535cf1d WIP multitabs and CRM view 2020-09-30 13:19:36 +02:00
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