Nathan Gray
378bd43d29
Set is_parent flag for all get_rows calls, not just the onces done via ajax.
...
FIxes missing flags on first load.
2014-02-05 23:13:47 +00:00
Nathan Gray
9ef38e33dc
Fix some internal UID <-> entry references not being updated when deleting.
...
Fixes mail splitter docking after deleting 2 rows.
2014-02-05 19:46:02 +00:00
Nathan Gray
66cddfbd61
If thrown does not have a message attribute, use what was thrown instead.
...
Fixes 'undefined' error message in log when using throw "error"
2014-02-05 17:19:18 +00:00
Nathan Gray
ec7360d36f
If application changed actions in get_rows(), the new actions need to be sent through etemplate_widget_nextmatch::egw_actions(). Now doing so automatically.
...
Fixes js error in infolog refresh.
2014-02-05 17:17:45 +00:00
Nathan Gray
565ead7288
Add a comment for why starting at '' - avoids infinite loops in set_value() / set_select_options()
2014-02-05 16:34:32 +00:00
Nathan Gray
0af573a3e1
Stop setting value.ignore flag in nm headers, it was changing it for all subsequent selectboxes, and doesn't appear needed anymore.
...
Fixes selectboxes in left/right headers missing values.
2014-02-05 16:33:49 +00:00
Hadi Nategh
d78bd208cb
Add "view_range" to toolbar widget in order to set range of maximum number of actions which would be displayed by icons and caption, out of range only icons. Additionally, reset the preference to default if all actions dragged out of list
2014-02-05 16:04:58 +00:00
Ralf Becker
92701be185
setting foldernames now as text and (optional) style
2014-02-05 12:23:04 +00:00
Ralf Becker
c0c6775e0a
added htmlencoding to tree widget and static PHP method to quote and send JSON data
2014-02-05 08:54:36 +00:00
Ralf Becker
ad464d2824
show backtrace in error_log of validation-errors
2014-02-04 09:24:17 +00:00
Ralf Becker
85cd466eda
preparing to use egroupware with mbstring.func_overload=0 by using mb_(strlen|substr) where necessary and providing an implementation for mb_*, if mbstring is not available
2014-02-04 09:23:43 +00:00
Ralf Becker
3a618c23d9
reverted r45509, as it causes an infinit recursion of set_value calling set_select_options calling set_value and so on
2014-02-04 08:27:26 +00:00
Nathan Gray
b8b614220e
Revert unneeded change from r45352.
...
Fixes (hopefully) spacer rows staying when fetching more rows.
2014-02-03 23:41:22 +00:00
Nathan Gray
c4a01a3de9
Implement set_actions() so they can be updated from server-size assign
2014-02-03 20:05:56 +00:00
Nathan Gray
cffa002dde
If value is available in init, keep it so it doesn't get cleared by set_select_options()
...
Fixes missing organization name
2014-02-03 20:05:29 +00:00
Ralf Becker
327123a588
preparing to use egroupware with mbstring.func_overload=0 by using mb_(strlen|substr) where necessary and providing an implementation for mb_*, if mbstring is not available
2014-02-03 19:57:50 +00:00
Ralf Becker
bb3ad1e5c4
et2_required class to display textfields as required, but not actually using required attribute, fixes changing infolog type does not update status for new entries
2014-02-03 16:50:36 +00:00
Nathan Gray
0c5ed3aefd
Log a warning if etemplate can't find a target parent DOM node (by ID) to help track down future missing widgets.
2014-02-03 16:22:27 +00:00
Nathan Gray
d5acb5f888
Don't try to refresh a not-fully-initialized nextmatch.
...
Fixes type error when switching to an open app that was loaded on login.
2014-02-03 16:03:32 +00:00
Ralf Becker
332d4e5a42
removed gif images for which we have a png image available, as png is now supported by all browsers
2014-02-03 14:04:39 +00:00
Ralf Becker
c2aad7342f
fixed not translated tooltip/label
2014-02-03 10:15:47 +00:00
Ralf Becker
269398be1d
add href implementation analog to image
2014-02-03 09:54:45 +00:00
Hadi Nategh
7f222b165d
Remove "BLACK DIAMOND SUIT" character from global categories
2014-02-03 09:19:59 +00:00
Nathan Gray
8290224b7b
Fix not able to un-select linked entry / select none
2014-01-31 16:30:59 +00:00
Ralf Becker
6d7e64037b
implemented a default_src attribute, which get used if src is not found in image-cache and fixed not working detached label attribute
2014-01-31 14:12:09 +00:00
Ralf Becker
d627be8763
added a couple more aliases for ids mapping to same image
2014-01-31 11:36:09 +00:00
Ralf Becker
18154600ea
assign default (background-)images to buttons based on their id
2014-01-31 11:24:43 +00:00
Ralf Becker
d383373ffe
skip empty, undefined or null labels when generating captions for column selection, eg. timesheet
2014-01-31 08:14:49 +00:00
Ralf Becker
c8603676ef
allow 0 as empty-value for date and date-time widgets, as that is used a lot eg. in InfoLog
2014-01-30 17:18:05 +00:00
Nathan Gray
12fc2ba8d0
Fix some more bugs in egw_refresh() delete:
...
- Fix selecting next row selecting current row instead
- Fix subsequent deletes not removing row
2014-01-30 17:10:28 +00:00
Ralf Becker
01fad19d9d
fixed just broken date-time widget and duration not accepting commas
2014-01-30 16:24:58 +00:00
Ralf Becker
d09391c0ee
fixed validation from date-timeonly and also no longer triggering change events for initial content
2014-01-30 15:30:14 +00:00
Ralf Becker
a34f35baf1
fix serverside url-validation required "http://" protocoll
2014-01-30 12:48:16 +00:00
Klaus Leithoff
04ad47f021
avoid error on this.input[0] undefined
2014-01-30 09:07:02 +00:00
Ralf Becker
9e29d8b282
docu update to fix ide warnings and indention
2014-01-29 18:55:24 +00:00
Ralf Becker
5e2d655d40
only trigger change event for real changes, first initialisation of widget is NOT considered a change
...
this modification might be necessary in more widgets, because they are either not an et2_inputWidget or overwrote set_value method
2014-01-29 18:24:57 +00:00
Nathan Gray
37a39dfe87
Remove extra margin inside labels, fixes indented text in nextmatch columns (textbox_ro)
2014-01-29 18:21:25 +00:00
Ralf Becker
020058061d
missing docu to fix ide warnings
2014-01-29 17:45:24 +00:00
Ralf Becker
4036b268c9
missing docu to fix ide warnings
2014-01-29 17:11:11 +00:00
Ralf Becker
11fd61fe8a
fixed indention and ide warning about missing docu
2014-01-29 15:55:18 +00:00
Ralf Becker
a659b49f51
silently fix skiped minutes or times with just one digit, as parser is quite pedantic ;-)
2014-01-29 13:10:31 +00:00
Ralf Becker
db3422fccb
fixed date(-time)-picker looses changes made in textfield directly, we now bind to change of input instead using onSelect of picker
...
also changed parsing of date(-time) strings to use parser of datetimepicker with our format, instead of date object, which does not understand our formats
2014-01-29 11:27:24 +00:00
Ralf Becker
09c5ea8df5
fixed datetime widget returns march, if selecting febuary on a current date with a day >28
2014-01-29 10:18:07 +00:00
Klaus Leithoff
398ca817d4
handle condition for no next found, to avoid java script errors
2014-01-29 09:58:29 +00:00
Hadi Nategh
f532c22707
Fix a defalut min-height for drop area in toolbar widget to be able to drop back the actions when there's no actions in action list
2014-01-29 09:04:10 +00:00
Ralf Becker
6f74c42111
translations from Stefan
2014-01-28 15:32:42 +00:00
Nathan Gray
d3e9f43b94
Don't initialize a hidden splitter, it ruins the size calculations. Initialization for hidden splitter is done (if needed) in resize().
...
Fixes mail splitter in hidden tab initializing to top, wrecking nextmatch grid.
2014-01-27 22:04:56 +00:00
Ralf Becker
ace95f26b0
fixed not expanded onchange attribute, if widget type need to be expanded too, eg. log-viewer in CalDAV or eSync preferences
2014-01-27 21:59:29 +00:00
Ralf Becker
56ea1da5aa
fixed not working redirect to index url of app, if etemplate session is lost (tested with mail app)
2014-01-27 16:30:34 +00:00
Ralf Becker
ba5254040d
fixed "can not access attribute 0 of undefined" caused by automatic nextmatch refresh loosing context
2014-01-27 16:26:00 +00:00
Ralf Becker
2e9b753292
remove permanent error-log
2014-01-27 13:07:50 +00:00
Ralf Becker
2685f4d46e
fixed AB "looses" name/organisation column after changing sorting, caused by grid not instanciating disabled rows as children and therefore column-name changes with sorting
...
added _getColumnName implementation to grid, which takes all nextmatch-* widgets into account (like old eTemplate did) and therefore does not change when sorting changed header-order by disabling of rows
2014-01-27 11:06:44 +00:00
Ralf Becker
50b34a7b99
docu update and fix IDE warnings
2014-01-27 09:48:43 +00:00
Ralf Becker
4f30210b03
indention
2014-01-24 09:27:52 +00:00
Ralf Becker
5452c9fca2
fixed XML error, if no type given
2014-01-23 12:43:29 +00:00
Ralf Becker
f0710fbecb
fixed et2_dialog static methods like confirm did not show translations: injecting an egw object with loaded translations for current app
2014-01-23 10:52:44 +00:00
Nathan Gray
c5e1ed231a
Fix deleting multiple rows by storing grid row ID first, otherwise grid row IDs change as we delete rows
2014-01-22 16:43:31 +00:00
Nathan Gray
b4ad250438
Fix rows staying after deleting by preventing automatic grid stuff while deleting
2014-01-22 15:22:29 +00:00
Ralf Becker
2632aff548
disabling redirect as it is not working (opens eTemplate tab in Stylite/Pixelegg template)
2014-01-21 18:58:07 +00:00
Ralf Becker
646c444670
order accounts according to pref of how to display them
2014-01-21 18:46:42 +00:00
Klaus Leithoff
22aa7fc0c8
add widget function to reSelect an Item without firing the events
2014-01-21 17:10:48 +00:00
Nathan Gray
87473ae76b
Fix cache clearing in selection manager
2014-01-21 15:50:06 +00:00
Nathan Gray
4d997bf7c8
Fix up caching, clearing and filtering, so we cache what we need and clear only what we have to when filtering
...
Selection still needs work.
2014-01-21 15:21:42 +00:00
Ralf Becker
3a140463e8
fix invalid debug-level "warning", has to be "warn"
2014-01-21 14:39:51 +00:00
Hadi Nategh
dbb6adf806
Fix no drop place when there's no action in toolbar widget
2014-01-21 13:52:32 +00:00
Ralf Becker
81ed37dab5
defining and documenting "onopenstart" and "onopenend" attributes
2014-01-21 13:39:27 +00:00
Ralf Becker
9f0f33e360
implementing callbacks for "onopenstart" and "onopenend" events: set_onopen(start|end)() and using it in mail to lock tree while accounts are newly opened
2014-01-21 13:34:02 +00:00
Klaus Leithoff
83d840b584
translations provided by stefan
2014-01-21 12:19:17 +00:00
Nathan Gray
045d1a3b19
Revert r45247, mail has some lingering issues and needs a harsh reset
2014-01-21 09:42:10 +00:00
Ralf Becker
37fa9facce
fixed IDE warnings and svn propset svn:keywords Id
2014-01-20 18:19:04 +00:00
Ralf Becker
01773135ea
fixed buttons in toolbar show no tooltip in Firefox (caused by title attribute on image not button)
2014-01-20 18:11:32 +00:00
Nathan Gray
2123b7cbbf
Fix validation of selectboxes when options are specified as key => (label,title).
...
Fixes edit dialog actions not validating
2014-01-20 16:15:53 +00:00
Nathan Gray
c675cd558e
Don't initialize href, fixes href = "" on every image
2014-01-20 15:19:38 +00:00
Nathan Gray
f8a361c0bc
Make sure value is not padded with spaces
2014-01-20 13:59:58 +00:00
Nathan Gray
3084da2238
Make sure value is numeric.
...
Fixes user/group selection sometimes doubled an option
2014-01-20 13:45:33 +00:00
Nathan Gray
546fb77abb
Fix unable to use only OK button constant
2014-01-20 13:07:11 +00:00
Ralf Becker
6de6114e22
remove old API browser class, apps only used content_header method with is available as html::browser_header() with identical signature
2014-01-19 09:30:33 +00:00
Nathan Gray
ad735932f1
Add loader animation to iframe src change
2014-01-18 16:55:16 +00:00
Nathan Gray
64fd8ec86b
Use widget ID in action manager, only use unique ID if widget somehow has no ID
2014-01-18 16:48:07 +00:00
Nathan Gray
ac0e2f6016
Improve applyFilters(), no longer blanks nextmatch before re-filling
2014-01-18 13:46:33 +00:00
Nathan Gray
2445fae8dd
Default formatting for custom field list, uses full width and limits input width
2014-01-18 13:16:27 +00:00
Nathan Gray
c74c024a46
Give specific class to custom fields list table
2014-01-18 11:59:05 +00:00
Nathan Gray
f3762d9884
Fix typo causing wrong record count after delete
2014-01-18 11:58:34 +00:00
Nathan Gray
46c80212ba
Better calculation for next/previous index of sparse map
2014-01-18 11:47:36 +00:00
Nathan Gray
35c70fea93
Changes to action system:
...
- Change selected to not start at global root - fixes key handler only working for 1 app
- Add depth limit for finding action / object (depth first search)
- Use depth limit when looking for top level application action/object to avoid crossing apps
2014-01-18 11:21:53 +00:00
Ralf Becker
f25bb789e7
fixed not working telephon integration / url-phone widget
2014-01-18 09:29:32 +00:00
Nathan Gray
1e379a7b8d
Avoid error if categories were not provided, just skip styling
2014-01-18 09:04:14 +00:00
Nathan Gray
344a63b37c
Fix removing (delete) a row from nextmatch
...
- Fix broken destroy callback
- Fix caching & actions to be removed
- Fix always removing the last row also
- Fix indexing so arrow keys work over sparse indexMap
2014-01-17 17:57:59 +00:00
Ralf Becker
0c2d8f87b9
only bind session/request destroy handler, if we have an etemplate_exec_id. Not the case for pure client-side call like from et2_dialog
2014-01-17 17:51:17 +00:00
Ralf Becker
b31befc23b
fixed server-side validation of url-email and taglist-email:
...
- PHP does NOT allow \x00 in regular expression
- added PHP /u modifier for utf-8
- using now regular expression including start- / end-delemiter and modifiers, to have same regular expression (but above 2 exeptions) in PHP and javascript
2014-01-17 17:26:22 +00:00
Ralf Becker
da60fe1228
To work around a bug in action system we call global actionManger of an application NOT just appname, but prefix it with "__"
2014-01-17 16:18:12 +00:00
Hadi Nategh
bb07598beb
Add set_href function to image widget,which wraps the image with <a> tag and binds a click handler to it
2014-01-17 15:58:58 +00:00
Nathan Gray
af6b513a54
Wrap search box & button in their own div
2014-01-17 13:35:13 +00:00
Nathan Gray
b094225f7a
Wrap action/button groups each in their own span
2014-01-17 13:24:18 +00:00
Nathan Gray
1933389ae2
Fix some more splitter strange behaviour
...
- Add ignore zone, undock won't go to a position < 20px from edge. In that case, it undocks to 50%
- Work around deferred layout (Chrome & Firefox) which caused wrong DOMNode height, which broke nm resizing
2014-01-17 12:43:14 +00:00
Klaus Leithoff
387035f76d
new translations from translation.stylite.de
2014-01-17 10:48:19 +00:00
Ralf Becker
0b994ee837
new regexp to validate email addresses plus examples what it should validate and what not
2014-01-16 18:10:06 +00:00
Ralf Becker
117a2f5f6b
mark mailing-lists in taglist responses with "mailinglist" css class, style it and give it a title "mailinglist" to differenciate from contacts/regular email addresses
2014-01-16 15:58:27 +00:00
Ralf Becker
4b789c932d
allow "." in front-part of rfc822 email, eg. "1. company <info@first-company.com>"
2014-01-16 15:14:45 +00:00
Nathan Gray
05f0e486e3
Use long task UI to merge contacts into email templates
2014-01-16 14:05:07 +00:00
Nathan Gray
6b86050e4e
UI for long running tasks that can be split
...
- Common dialog in et2_dialog
- nextmatch action that runs a menuaction for each selected row
2014-01-16 13:54:19 +00:00
Ralf Becker
a0213fd5a3
now calling our session_destroy also for etemplate2.clear(), this way we get also unloads from frameset templates
2014-01-16 12:52:25 +00:00
Ralf Becker
205794f4a7
notify server about closed windows, so we can destroy no longer eT needed session/requests and so keep cache small
2014-01-16 12:13:16 +00:00
Nathan Gray
4ff7a0bb31
Allow bigger progress bar
2014-01-16 10:44:04 +00:00
Ralf Becker
7cc91b0046
new&modified images from pixelegg
2014-01-15 18:04:11 +00:00
Ralf Becker
b56175a0f4
new default eTemplate request storate in EGroupware cache with an expiration time of 4 hours.
...
Benefit over old default is, that we get a short etemplate_exec_id giving better performance for ajax requests.
Drawback is currently poor garbadge collection only removing requests not used in 4 hours or which call egw_framework::window_close on server-side.
We can improve garbadge-collection by binding to window on(before)unload sending a (synchronious) request to server to remove concerned eT2 request.
2014-01-15 16:46:16 +00:00
Nathan Gray
f9c2c73432
Get merging contact into mail template file working
2014-01-15 16:29:30 +00:00
Nathan Gray
63b92d2939
More careful split of parameters, fixes losing part of last parameter if it had '-' in it
2014-01-15 15:05:10 +00:00
Ralf Becker
6544d38e2c
storing (not used) cancel or non-cancel button pressed information now in static class-variable instead of request, to avoid modifying request and causing a save of it
2014-01-15 13:46:53 +00:00
Klaus Leithoff
60bb090278
pixelegg changes from wednesday, new/changed images and styles
2014-01-15 13:46:14 +00:00
Ralf Becker
cb8b279e94
fixed image widget uses index.php for not found images
2014-01-14 17:08:41 +00:00
Ralf Becker
629bd6f2ee
added pixelegg/less/svg.css stylesheet and id reflecting their name to all svn image
2014-01-14 16:14:51 +00:00
Klaus Leithoff
e5acab5fb9
pixelegg changes from tuesday
2014-01-14 16:04:20 +00:00
Nathan Gray
959a6bd588
Increase size of column resize handle
2014-01-14 14:52:21 +00:00
Nathan Gray
29868662c1
Re-set whitespace to normal inside hbox children, fixes not nowrap text contents
2014-01-14 14:01:30 +00:00
Nathan Gray
3b443f976d
Fix link entry widget not expanding after hiding app selectbox
2014-01-14 13:48:11 +00:00
Nathan Gray
cfa981480e
Fix selecting 00:00 in datetime widget re-set to current time
2014-01-14 13:32:08 +00:00
Nathan Gray
6418c06b18
No seconds or milliseconds, in date/times
2014-01-14 12:35:28 +00:00
Nathan Gray
ae491c0810
Enable symlinking VFS files to not yet existing entries
2014-01-14 12:11:13 +00:00
Hadi Nategh
c82ffac545
Fix wrong order of search result in linkto
2014-01-14 11:31:33 +00:00
Nathan Gray
29992a7fee
Fix linking files to not-saved entries
2014-01-14 10:16:36 +00:00
Ralf Becker
21bb9ef481
pixelegg changes from monday
2014-01-14 08:20:32 +00:00
Ralf Becker
ca1433cd5e
no longer warn about widgets without a server-side class, as it is perfectly ok
2014-01-13 15:24:48 +00:00
Nathan Gray
4eea706aa0
- Return true after window close in et2_load, avoids 'Error while parsing et2_load response'
...
- Catch trying to set a widget attribute with no set_...() function via JSON assign and warn instead of generic error
2014-01-13 15:07:03 +00:00
Nathan Gray
be0878f883
Use this.egw() to get the correct (app level) data cache, which stores appname internally.
...
Fixes permission denied popup when updating.
2014-01-13 15:04:30 +00:00
Nathan Gray
51d802ec78
Only try to unbind if there's a value. If there isn't a value (new entry), handler wasn't bound, and trying causes an error.
...
Fixes blank popup after save.
2014-01-13 15:03:15 +00:00
Hadi Nategh
dc614521b3
Make toolbar widget being able to d-n-d with user prefernces for actions
2014-01-13 10:26:20 +00:00
Nathan Gray
71f0fcdda0
Implement refresh type 'update' to _only_ update the data of a row - sorting is not considered, so make sure to use 'edit' if sorting might be affected.
2014-01-13 09:40:23 +00:00
Nathan Gray
43fe37761f
Un-bind window resize handler in destructor
2014-01-11 16:43:06 +00:00
Nathan Gray
a458019490
Avoid some missing attribute warnings by not trying to set needed on readonlys, which don't support it.
2014-01-11 16:40:45 +00:00
Nathan Gray
5f12847fb3
Fire a refresh event (from the nextmatch widget) when the nextmatch auto-refresh happens, so apps can update anything else they need to.
2014-01-11 14:14:42 +00:00
Nathan Gray
52ab3203bd
Remove r44925, not needed
2014-01-11 12:01:45 +00:00
Nathan Gray
04a845fa35
Enhance refreshItem() to optionally take the data needed for refreshing to avoid an extra call to the server
2014-01-11 11:53:23 +00:00
Nathan Gray
26b8cae767
Avoid removing all event listeners if the etemplate has no unique ID (happens for dialogs)
2014-01-11 11:42:23 +00:00
Ralf Becker
87ea75a75b
use \042 instead of \" in regular expression, as it stalls minifier
2014-01-10 16:19:05 +00:00
Nathan Gray
3b57659536
Defer binding to window resize until after loading is finished.
2014-01-10 15:54:35 +00:00
Nathan Gray
cb94adb995
Defer loading of tabs
...
First / selected tab is loaded in line with normal code execution. Not visible tabs are loaded after using window.setTimeout(). jQuery.Deferred makes sure the template doesn't fire the load event until they're all done.
2014-01-10 14:32:03 +00:00
Nathan Gray
9b4cd3e306
Some more profiling helpers - timeline timestamp at start of rendering, consistently measure to end of app callback
2014-01-10 14:27:21 +00:00
Nathan Gray
a64da9f456
Disable automatic chosen, only explicit now
2014-01-10 09:47:26 +00:00
Ralf Becker
243f20e98c
fixed handling of optgroups, eg. notification chains in prefs
2014-01-10 07:08:45 +00:00
Nathan Gray
c9e923bf78
Make sure UID is a string
2014-01-09 18:10:32 +00:00
Nathan Gray
f1558bcffb
Fix missing bracket
2014-01-09 16:53:42 +00:00
Nathan Gray
3fdb024ff2
Don't reset height until it's time to invalidate, avoids re-calculating on every row
2014-01-09 16:46:39 +00:00
Nathan Gray
c082dec331
Profiling - Automatically profile etemplate2 loading in Chrome
2014-01-09 16:44:34 +00:00
Ralf Becker
400240f1e4
caching translations for 10days and changing translation url, when translations are changing --> saves server-roundtrip for each translation
2014-01-09 15:32:07 +00:00
Nathan Gray
13572c472a
Profiling - Add some timestamps for timeline
2014-01-09 13:38:32 +00:00
Ralf Becker
64cc24815c
changed hopefully last reference to orange-ball.png with bullet.png
2014-01-09 12:26:34 +00:00
Ralf Becker
90edb55ec5
add async include and et2 render times to page-generation-times shown
2014-01-09 12:20:13 +00:00
Nathan Gray
5179794f15
Fix constant warnings about not found images when image was in nextmatch row and src was '' for the row
2014-01-09 11:43:15 +00:00
Nathan Gray
49ef2c538a
Use any row data passed from server in etemplate load call to avoid an extra call to get_rows
2014-01-09 11:25:08 +00:00