Commit Graph

1755 Commits

Author SHA1 Message Date
Ralf Becker
a861f16565 log error-message not error-object (which get logged as {}) 2014-02-17 13:10:20 +00:00
Ralf Becker
61e98b8149 default refresh method for jdots, if no nextmatch available 2014-02-14 15:01:45 +00:00
Ralf Becker
fb311f3ebf added a et2_button_ro class to all readonly buttons and remove cursor: pointer from et2_button, as it is set in et2_clickable anyway 2014-02-14 10:47:05 +00:00
Ralf Becker
bd7980f0e8 new attribute type "html", which is NOT run through (tags removing) html_entity_decode, used for value in et2_html(area) 2014-02-14 10:14:28 +00:00
Ralf Becker
e60294fdf4 temp. workaround to get calendar conflicts working again, see my.stylite.de #6343 2014-02-14 09:53:34 +00:00
Ralf Becker
49ffb7a6db fix javascript error: can not call method removeClass of null 2014-02-14 09:35:51 +00:00
Ralf Becker
efa9c562bb allow expressions to end in a $ eg. in PHP "test$" is valid, no longer throwing an error if expression cant be parsed, just log the error and return expression literally 2014-02-14 09:03:12 +00:00
Ralf Becker
551dff28e3 fix readonly buttons were clickable: ignoring now click and add/remove et2_clickable (temp. also changing cursor: default/pointer, as et2_button sets cursor: pointer) 2014-02-13 18:41:04 +00:00
Nathan Gray
c5d1cc8cd1 Fix missing destruction of splitter children 2014-02-13 18:28:53 +00:00
Ralf Becker
c00e79af78 partial fix for addressbook CRM view does not propagate prefered telephone number to phone popup, set_value() on et2_radiobox_ro is NOT working 2014-02-13 17:51:02 +00:00
Ralf Becker
6df2fa827d fixed not working options for readonly radiobutton eg. "something,♥": missing legacyOptions for et2_radionbox_ro and no entity_decoding from attributes in template (they require it because of xml) 2014-02-13 17:29:02 +00:00
Nathan Gray
b307202565 - Give default settings based on dynheight in case of missing preference and deferred layout
- Force layout _before_ setting preference too, or it will render children properly but store a bad size in prefs.
2014-02-13 17:05:14 +00:00
Ralf Becker
65c3f50923 instanciate app.js object, if not yet done 2014-02-13 15:59:31 +00:00
Hadi Nategh
7386333c10 Fix wrong number of actions in toolbar, since we could multi-layered actions as single button 2014-02-13 14:33:48 +00:00
Hadi Nategh
1529a14db7 Add another attribute to toolbar, called flat_list, in order to define wheter show actions with children as button or dropdown 2014-02-13 10:40:39 +00:00
Ralf Becker
8d86f8496b fixed radiobutton not (always) returning correct value plus fixing ide warnings 2014-02-13 09:50:49 +00:00
Nathan Gray
09272770a9 Avoid error if server sends numeric ID by checking type 2014-02-13 00:36:36 +00:00
Ralf Becker
f0d7751496 removed caret from group favorites, fixed prefered favorite was not show correct initialy nor updated 2014-02-12 21:51:25 +00:00
Nathan Gray
153c4b7e8d Fix lost focus, and remove unneeded stuff 2014-02-12 21:25:59 +00:00
Nathan Gray
1134c6a4b9 Fix deleting first row not working properly 2014-02-12 21:25:24 +00:00
Ralf Becker
fbaa1ecdc2 when renaming a tree node, need to change id in action object and action object interface, when deleting we need to delete whole object not just id of interface (splice renumbers array, while delete sets deleted item to undefined!) 2014-02-12 20:12:02 +00:00
Ralf Becker
082f3242ee fix Syntax error while parsing "You can use $$start$$ for the above start date and $$end$$ for the end date." at 13, expected variable identifier and fixed IDE warnings 2014-02-12 19:32:34 +00:00
Ralf Becker
4f2cc1456e adding a css class for cancel, delete or yes/no buttons and default background images 2014-02-12 15:18:18 +00:00
Ralf Becker
375854327d adding a css class for cancel, delete or yes/no buttons 2014-02-12 15:17:54 +00:00
Nathan Gray
eb8ea32d97 Change loading order so tab widget is in DOM before loading children. Matches other widgets, and avoids errors in CKEditor which needs the DOMNode to be in the tree. 2014-02-11 22:44:06 +00:00
Nathan Gray
5450085a54 Avoid error if value sent was not a string. Warning is also sent to console by framework, but this prevents errors. 2014-02-11 22:40:58 +00:00
Nathan Gray
3158cbf915 Only trigger immediate refresh if the tab has been hidden longer than refresh time, prevents refresh when clicking around between tabs. 2014-02-11 20:59:07 +00:00
Ralf Becker
5dec559f11 fixed javascript error "... has no method egw" 2014-02-11 17:30:56 +00:00
Hadi Nategh
ae3a6bfe0c Fix view_range and reset to default if drop all actions in toolbar widget 2014-02-11 16:06:02 +00:00
Ralf Becker
ec989fc535 method to get data of a node by its id 2014-02-11 15:56:52 +00:00
Hadi Nategh
cf6d844c67 Set the toolbar actions draggable items always to the top 2014-02-11 14:18:30 +00:00
Ralf Becker
dbe2371a0b allways using this.egw().getAppName()) instead of window.egw_appName, which has no meaning for framed template-sets running apps on toplevel 2014-02-11 12:54:56 +00:00
Ralf Becker
e7206aa071 fixed sometimes preferences for app "eGroupware" are requested 2014-02-11 12:17:08 +00:00
Hadi Nategh
c9c89c4d66 Set the button text with textContent instead of innerTEXT as some browsers may not support innerTEXT 2014-02-11 08:50:19 +00:00
Nathan Gray
e314011e88 Harmonize readonlys processing, fixes some fields in grids not validating if other rows were read-only.
- Change server-side get_array() to return null if not found, matches client side getEntry() and allows us to tell the difference between false and not found
- Change server-side is_readonly() to properly consider expansion & sub-arrays
- Fix client side et2_readonlysArrayMgr to properly consider expansion & sub-arrays
2014-02-10 21:59:50 +00:00
Nathan Gray
9cd9f22026 Use framework events to stop and start autorefresh if tab is hidden or shown 2014-02-10 18:47:51 +00:00
Ralf Becker
4195633c82 pass event as 1. parameter to click handlers to be able to call preventDefault() or stopPropagation() 2014-02-10 18:25:02 +00:00
Ralf Becker
795cfe3e6f fix typo stalling insert into eml document 2014-02-10 17:02:54 +00:00
Hadi Nategh
484dd23320 Implement preferred default actions for toolbar widget 2014-02-10 15:43:51 +00:00
Hadi Nategh
c0e90dbcf5 Set the default "view range" attribute in toolbar to 5 2014-02-10 14:10:17 +00:00
Hadi Nategh
41ed0218d4 Fix sorting toolbar actions by group 2014-02-10 13:03:17 +00:00
Hadi Nategh
5aa51c2396 Add action hint as tooltip in toolbar actions. If there is no hint, use action caption as tooltip 2014-02-07 11:02:35 +00:00
Ralf Becker
f073db1f63 fixed toolbar preference sometimes not stored (caused by them being an array) 2014-02-07 10:33:05 +00:00
Ralf Becker
4dab9cba88 if content of template contains data for key "msg", call egw.message() with it and remove it from content 2014-02-06 17:27:01 +00:00
Hadi Nategh
5886ec65a3 Show toolbar's action always with icon and caption when it is in menulist 2014-02-06 14:01:37 +00:00
Hadi Nategh
338c1c1f2f Seperate phrase "more" from " ..." in toolbar widget 2014-02-06 13:43:11 +00:00
Hadi Nategh
6c10d73e6e Adjust toolbar d-n-d, and add css class to actionbox dropdown menu 2014-02-06 11:25:56 +00:00
Ralf Becker
3bace4e0d7 need to wait for jQuery to be loaded 2014-02-06 11:01:32 +00:00
Ralf Becker
84586b196b magisuggest can NOT work setting an empty autocomplete url, using an empty options list instead 2014-02-06 09:40: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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
cb8b279e94 fixed image widget uses index.php for not found images 2014-01-14 17:08:41 +00:00
Nathan Gray
959a6bd588 Increase size of column resize handle 2014-01-14 14:52:21 +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
Nathan Gray
29992a7fee Fix linking files to not-saved entries 2014-01-14 10:16:36 +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
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
Nathan Gray
13572c472a Profiling - Add some timestamps for timeline 2014-01-09 13:38:32 +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
Ralf Becker
3156da0619 give buttons in toolbar an individual id based on toolbar-id and action-id 2014-01-06 16:45:54 +00:00
Nathan Gray
d000a05b72 Start search if user presses enter in search box 2013-12-30 17:05:03 +00:00
Nathan Gray
fc2d036332 Add ability to turn on/off lettersearch line in column selection dialog (when enabled for app) 2013-12-24 16:54:38 +00:00
Nathan Gray
9009ef44bb Pass current app to egw_app_header() so it can set header for correct app. Fixes sometimes wrong app header shown. 2013-12-23 16:13:40 +00:00
Hadi Nategh
ae2049db28 Fix missing translation attr in groupbox widget 2013-12-20 12:47:49 +00:00
Nathan Gray
3e4100d5df Make sure content manager is not null before trying to use it (occasionally happens with programmatically created selectboxes) 2013-12-19 18:06:16 +00:00
Nathan Gray
103515342e Add IDs to search & export buttons. 2013-12-19 15:50:15 +00:00
Klaus Leithoff
d3e89b1095 attempt to implement and make use of the tree-side drag and drop; does not work out-of-the-box, at least not as attempted in mail module 2013-12-19 09:58:32 +00:00
Nathan Gray
ccae3f71ab Fix undeclared var (strict mode) 2013-12-18 18:17:34 +00:00
Nathan Gray
907e9740d8 Change tree autoload URL to work with egw.link() instead of against it, while still giving the tree lib an absolute URL. 2013-12-18 17:54:28 +00:00
Nathan Gray
af51f8a102 Remove some more old code, favorites now in framework 2013-12-16 20:37:38 +00:00
Nathan Gray
a1e5783da6 Make sure data is set before trying to look inside it. 2013-12-16 18:11:53 +00:00
Ralf Becker
374312be3c need to set app_header before message, as app_header is (temp.) replaced by it 2013-12-13 01:15:41 +00:00
Nathan Gray
a79f7b87a6 Continue moving most favorite functionality from favorite widget into framework. Favorite widget now uses framework. 2013-12-12 23:45:09 +00:00
Nathan Gray
23fd7066bf Add etemplate into indexed list before starting the load process. This way anything looking for it can find it, even if it's not fully loaded (and bind to the load event if needed) 2013-12-12 23:37:12 +00:00
Nathan Gray
680ce48fef Check to make sure selectionMgr is there before trying to use it 2013-12-12 23:34:42 +00:00
Ralf Becker
9c3c077314 fixed not updated sidebox in calendar listview 2013-12-12 23:32:30 +00:00
Nathan Gray
39c53c5530 Parse null values as string '' instead of 'null' to match PHP 2013-12-12 20:10:02 +00:00
Nathan Gray
603f063e00 Properly handle only-app set, with just an integer value 2013-12-11 23:11:33 +00:00
Nathan Gray
362c61e0ae Don't try to take extra size from already too small columns 2013-12-11 21:24:17 +00:00
Nathan Gray
71e62f24f3 Remove extra border spacing, should be handled in CSS if needed 2013-12-11 21:20:07 +00:00
Nathan Gray
0f055b5295 Use 'state' to store nm info
Fix some etemplate permission errors
2013-12-10 23:16:08 +00:00
Nathan Gray
735a1afa43 Clear queue when results arrive, and in reset() 2013-12-09 21:37:39 +00:00
Klaus Leithoff
4c03a02926 attempt to implement focusItem, to be able to scroll to a selected Item automatically; implement wrapper for hasChildren from dhtmlXTree API 2013-12-09 16:00:15 +00:00
Ralf Becker
8da1afca1e some fixes to get "add favorite" in regular calendar views do something 2013-12-08 22:56:23 +00:00
Nathan Gray
ac04ff9f6c non-et2 Favorites work in progress
Stop et2_favorites from overwriting sidebox
2013-12-06 23:10:25 +00:00
Nathan Gray
7ff91718e4 Fix only 2-3 rows shown for applications loaded into not visible tabs 2013-12-05 20:26:00 +00:00
Hadi Nategh
53006083e9 Add confirm method, with fixed YES_NO buttons and submit functionality, which could be exchanged by old javascript confirm() function 2013-12-05 08:53:11 +00:00
Nathan Gray
6f90cb8fb3 Decrement row count when refreshing a delete 2013-12-04 21:12:25 +00:00
Nathan Gray
834dbe886b Automatically bound change handler returns true to play nice with other change handlers that might be bound. 2013-12-04 19:52:51 +00:00
Nathan Gray
698efb3039 Better handling of submitting with passed button to properly process the button ID into the value array. Fixes the case where ID like 'button[delete]', previously wound up in button.button[delete]. 2013-12-04 00:15:50 +00:00
Nathan Gray
7148a1f274 Fix broken tree by removing extra line - was not supposed to be there 2013-12-03 21:37:50 +00:00
Nathan Gray
ec118b0839 Nextmatch export button no longer defaults to on, it must now be explicitly set by the application. 2013-12-02 21:27:55 +00:00
Nathan Gray
4c1c710ba9 Implement display of server-side validation errors 2013-12-02 20:35:32 +00:00
Nathan Gray
fbbe467a7e Unbind previous click handler before setting a new one, or they get doubled. 2013-12-02 16:24:24 +00:00
Nathan Gray
0f5cfe1949 Default to user's preferred size, app can dock if desired. Since they already do... 2013-11-29 21:26:35 +00:00
Nathan Gray
bcfaa60405 Automatically size just to parent, not whole window 2013-11-28 18:43:44 +00:00
Nathan Gray
b14424dbd1 Handle possibility of a null option without failing 2013-11-28 18:43:12 +00:00
Nathan Gray
f8352386cb Use === to tell the difference between '' and (int)0 keys 2013-11-28 18:12:08 +00:00
Nathan Gray
f5b02ccc21 Preserve selected application when clearing search, or it gets lost internally 2013-11-28 17:31:22 +00:00
Nathan Gray
fa65814f9e Extend exception to all single select:
- Multi-select you don't select the empty/none option, just nothing
- Single select needs the empty/none option, even with chosen on
see r44551, 44631
2013-11-27 18:03:26 +00:00
Nathan Gray
407f3d673e Fix private field filter 2013-11-27 17:17:37 +00:00
Nathan Gray
f88a93c17e Can't switch DOM node in the detached interface, have to keep the original 2013-11-27 16:42:37 +00:00
Nathan Gray
1e36383224 Keep value in case select options haven't been set up yet so we can set value immediately after. 2013-11-27 16:35:45 +00:00
Nathan Gray
3f687236a5 Avoid repeated errors if sidebox target is missing by removing listener first 2013-11-27 00:18:55 +00:00
Nathan Gray
092da6a706 Use a fallback menuaction that won't give a permission error 2013-11-26 22:34:32 +00:00
Nathan Gray
a5227f2359 Add read-only taglist 2013-11-25 18:10:48 +00:00
Nathan Gray
e942a63607 Better handling of buttons with text & image, as well as a default style. 2013-11-25 16:50:20 +00:00
Nathan Gray
ad3f10d1b0 Add check for nulls, they break 2013-11-21 23:43:53 +00:00
Nathan Gray
e1774ac9b7 Add attribute to include mailing lists in email results 2013-11-21 23:08:07 +00:00
Nathan Gray
0853f5bd66 Fix infinite loop by using a new counter variable 2013-11-21 21:25:31 +00:00
Hadi Nategh
a5043743a8 Try not to remove options value for type "select-number" becasue we need it to display rows in legacy_options 2013-11-21 17:39:44 +00:00
Nathan Gray
ab2a1ae9b9 Accept categories as objects in an array as well as map by category ID 2013-11-21 00:21:01 +00:00
Nathan Gray
e623ea8c82 Change minimum height from 150px to 100px, still enough for a small nm 2013-11-20 23:27:53 +00:00
Nathan Gray
e231ca5212 Fix some splitter issues:
- Loaded at wrong size
- Docking lost previous pane size
- Docking overwrote bar location preference
- Allowed etemplate to think load was done too early
2013-11-20 23:27:10 +00:00
Nathan Gray
1f1ea27078 Resize children's height too 2013-11-20 00:03:58 +00:00
Nathan Gray
c944df738d Make sure button is there before trying to edit its CSS 2013-11-19 21:49:07 +00:00
Nathan Gray
0357834ce1 Fix bad search url 2013-11-19 18:28:54 +00:00
Ralf Becker
845c460d68 fixed not working set_value 2013-11-19 15:18:12 +00:00
Nathan Gray
b6f16956f3 Make sure options are set before looking inside 2013-11-18 23:56:25 +00:00
Nathan Gray
2b7d47fcf7 Add background_image attribute, to allow setting image + label together, using button's background-image CSS 2013-11-18 23:34:52 +00:00
Nathan Gray
363e2d5d5f Avoid permission error when searching 2013-11-18 21:20:01 +00:00
Nathan Gray
cc5b0fc241 Allow link widget inside, it's used for searching 2013-11-18 18:47:25 +00:00
Ralf Becker
a4f5ea0b00 propagate width to magic suggest 2013-11-17 20:36:35 +00:00
Nathan Gray
26888ce64c When turning on tag mode, remove empty label from options. 2013-11-15 16:51:49 +00:00
Nathan Gray
3c38cd10c4 Nextmatch update changes:
- Implement "update" as alias for edit
- Comment out handling of edit (handle as add)
2013-11-15 15:28:38 +00:00
Nathan Gray
0745db84bd Use current app to get around missing etemplate run rights 2013-11-13 23:47:01 +00:00
Nathan Gray
d1c5bf2243 Use current app to get around missing etemplate run rights 2013-11-13 23:28:26 +00:00
Nathan Gray
44f6f55406 Make sure entry header sets activeFilter value when setting nextmatch 2013-11-13 22:41:22 +00:00
Nathan Gray
70b4ff412c Avoid errors if row_cont is null, just use an empty array 2013-11-13 19:25:10 +00:00
Nathan Gray
b7487f8b72 Avoid double-binding change & focus handlers 2013-11-13 18:17:50 +00:00
Nathan Gray
a10ac05b63 Allow app's custom file drop code to run even if no row data found 2013-11-13 17:18:55 +00:00
Nathan Gray
a4cad98e4c Skip request to make links if there are no links to make 2013-11-12 20:25:04 +00:00
Nathan Gray
87a4d6471b Add extra filters in to list 2013-11-12 20:14:33 +00:00
Ralf Becker
96336ea521 fixed error, if no favorites are defined 2013-11-12 07:51:28 +00:00
Hadi Nategh
42368769a0 Fix %s as value in description widget 2013-11-11 14:16:18 +00:00
Ralf Becker
38748c2fa1 fix for action-checkboxes not transmitted in et2 2013-11-08 16:38:12 +00:00
Nathan Gray
ca92b22daf Downgrade error about overwriting value, id exists twice to warning.
Stop warning about duplicate IDs in children of header bar, those values are part of nextmatch.
2013-11-08 16:28:07 +00:00
Nathan Gray
ba9782138c Check for app_callback before trying to call it 2013-11-07 23:21:14 +00:00
Ralf Becker
441a0eb4e9 new seletbox.set_multiple(_multiple, _rows) method to switch multiple on/off on instanciated widget, optional parameter selectbox.set_tags(_tags, _width) to specify width 2013-11-07 13:20:49 +00:00
Nathan Gray
f973dc9b79 Fix missing category labels in nm list (set with full object was not implemented) 2013-11-06 20:26:38 +00:00
Nathan Gray
39c1efc789 Fix up dataview / nm filter changes. Removes extra server call to ajax_get_rows. 2013-11-06 18:55:57 +00:00
Ralf Becker
90a9df3d1e key can be 0 or "" too, therefor need to check if attribute value exists 2013-11-06 10:31:31 +00:00
Ralf Becker
6d226a7921 split constructor function and place of instanciation for app.js objects: app[appname] = new app.classes[appname](); 2013-11-04 20:54:23 +00:00
Nathan Gray
a2faa9bd00 - Clean up some link sub-widgets to make them operate a little nicer / more consistently
- Check attrs for already existing select_options too, should speed up selectboxes a little more
2013-11-04 19:00:43 +00:00
Ralf Becker
1dd3ad5e0a fixed ckeditor wont start with NOT expanded toolbar 2013-11-04 10:13:28 +00:00
Ralf Becker
a1b66d286d keep client/javascript from re-ordering nummeric option-values by sending them as array of objects with attribute value 2013-11-03 13:33:32 +00:00
Ralf Becker
52a3a5e2ae fixed not working readonly display of integer or float widgets, caused by attribute validation allowing string only 2013-11-02 14:49:26 +00:00
Nathan Gray
aa4651272e Some minor enhancements / bugfixes, such as
- Better warnings
- Check some vars before using
- Fixes missing value on selects with tag attr
2013-11-01 21:12:20 +00:00
Nathan Gray
34e5d01de4 Allow access to current namespace content with {$_cont[...]}, since {$cont[...]} goes to the root
(this might not be the best, but I can't figure out a better way with the compiled expressions)
2013-10-30 17:16:20 +00:00
Ralf Becker
064baf926a et2.submit(button,async) button can now be widget-id too, new optional async parameter to send request asynchronious (default synchronious), eg. to show an otherwise frozen animation 2013-10-30 14:07:29 +00:00
Ralf Becker
cabb1e8b8c fixed error if this._widgetSurrondings is not defined, no idea why 2013-10-30 09:43:12 +00:00
Nathan Gray
388b2cbceb - Fix etemplate2 assign json plugin so it's on the right egw object
- Add a console debug group (when supported) to make it easier to work with console log
2013-10-28 20:16:49 +00:00
Nathan Gray
7c7d6391ab - Automatically add 'Select All' action with Ctrl+A shortcut after first action group
- Implement Select All into selection controller so it works even if all rows aren't loaded
2013-10-24 17:29:11 +00:00
Nathan Gray
dc01c61793 Fix up order of operations in link widget to stop setting value too early
Fixes "false" as text when value is provided in app:id format
2013-10-24 16:04:44 +00:00
Nathan Gray
5923aed2a8 Make link widget last selected app preference specific to each application 2013-10-23 19:51:43 +00:00
Nathan Gray
550604017e Make sure original buttons don't show in auto dialog 2013-10-22 22:43:14 +00:00
Nathan Gray
ea79585b23 Pre-set min-width of auto-dialog to honor specific sizing 2013-10-22 22:03:31 +00:00
Nathan Gray
a81aaefbe3 Fix selectbox with array value not getting set 2013-10-22 21:18:45 +00:00
Nathan Gray
ab4873553b - Add in any missing filter/left/right header select options from favorites or other changes instead of rejecting. Server side get_rows is responsible for actually providing the missing option(s)
- Propagate changed exec_id to controller
2013-10-21 22:23:02 +00:00
Nathan Gray
a5e0ee9cd0 Fix broken warning about setting value not in options 2013-10-21 22:20:18 +00:00
Nathan Gray
52a7acfc55 - Don't change template if new is the same as current
- Create header in init(), now that not-loaded templates are handled
- Update nm left/right header input widgets' old value when filtering
2013-10-21 18:02:02 +00:00
Nathan Gray
788483043d Set activeFilters to match value in left/right header when binding to change so favorites pick up header values set by server 2013-10-21 17:28:08 +00:00
Nathan Gray
2524de6c74 Add link now remembers you last selected app 2013-10-21 16:32:07 +00:00
Nathan Gray
c25d73b435 Change link widget from edit to view, pass the parameters needed to open in the app's tab or popup, according to link registry 2013-10-21 15:39:09 +00:00
Nathan Gray
3298e69d92 Change some more regexes to match all 2013-10-21 15:16:12 +00:00
Nathan Gray
77e2849895 Add et2_grid.set_value() to re-create a grid (including auto-repeat).
Pass an object with key/value pairs to update the grid's array managers (content,sel_options,readonlys).
The grid will then be re-created (not updated) using the template.
2013-10-18 23:24:49 +00:00
Klaus Leithoff
4dbda94f6a implement set_class for progress widget; preserve widgets base classes, if we do so 2013-10-18 09:47:29 +00:00
Klaus Leithoff
2435e925ae implement set_class for progress widget 2013-10-18 08:50:53 +00:00
Nathan Gray
10f3665853 If there is no template specified, resolve immediately 2013-10-17 15:23:33 +00:00
Ralf Becker
3124a8c3f3 allow to use "about:*" or urls starting with / in set_value 2013-10-17 13:14:22 +00:00
Nathan Gray
4d35323f52 - More checks for sub-template referred to by partial name
- Fix sub-template modifications missed if namespace mismatch
2013-10-16 23:16:29 +00:00
Nathan Gray
d271990b84 Prevent creating multiple sub-widgets if doLoadingFinished() is called more than once (eg in nextmatch header) 2013-10-16 22:39:41 +00:00
Nathan Gray
4002907c05 Use jQuery's Deferred to solve the deferred loading problem instead of load events. 2013-10-16 20:48:05 +00:00
Ralf Becker
f10fc199a0 reverted only binding if onclick method is set to allways bind again (because eg. et2_button needs bind and fails to work) and only setting et2_clickable, if we have an onclick 2013-10-16 15:04:52 +00:00
Ralf Becker
d1a2b89815 only bind click event if we have a handler and add et2_clickable css class so user knows widget is clickable 2013-10-16 09:17:51 +00:00
Klaus Leithoff
ceb20da716 fix preset of taglist value 2013-10-14 08:37:49 +00:00
Nathan Gray
b77ce6a8dc - MagicSuggest update
- Fix setting taglist value via js
2013-10-11 14:38:04 +00:00
Nathan Gray
f73f8fea89 Update email regex to allow:
Nathan Gray <ng.dot@email.com>
2013-10-11 14:35:13 +00:00
Klaus Leithoff
44e995abea provide a tooltip on vfs select button icon 2013-10-11 13:48:50 +00:00
Klaus Leithoff
78e3371a2b set action.caption as tooltip, and provide an applicable class for item images 2013-10-11 13:34:35 +00:00
Klaus Leithoff
d961343939 set action.caption as tooltip, and provide an applicable class for item images 2013-10-11 13:34:17 +00:00
Ralf Becker
200c9e55fe dont replace value&label "" with empty_label, as empty_label is allways added, ignoring it here, to not add it twice 2013-10-11 13:02:22 +00:00
Ralf Becker
c6a97da311 fixed changes in get_rows method were not send back to client, if PHP mcrypt is available / eTemplate request stored on client 2013-10-11 11:20:21 +00:00
Ralf Becker
3c80defe8b fixed setFilter to correctly return all current filter-values in its 1. parameter this.activeFilters 2013-10-11 09:55:12 +00:00
Nathan Gray
a30b656865 Fully support linking before entry is saved 2013-10-11 08:41:24 +00:00
Nathan Gray
8912d029a4 UI to support links on unsaved entries 2013-10-10 17:00:30 +00:00
Nathan Gray
33a7534299 Include offending widget in attribute type mismatch warning 2013-10-10 14:52:48 +00:00
Nathan Gray
e6f58c4d4b - Fix value rejecting array
- Better handling of no comment (null) on link
2013-10-10 14:43:54 +00:00
Ralf Becker
046aab4000 re-add css class "row" to every grid row to get row-cursor back 2013-10-10 13:37:30 +00:00
Nathan Gray
398a8eed25 Event handler attributes:
- default to et2_no_init so they don't get processed if not set
- remove some duplication in attributes
2013-10-10 13:17:07 +00:00
Nathan Gray
22b5ed587f Improve error message to make sure we get the error message 2013-10-10 12:32:34 +00:00
Nathan Gray
eda4d2a3f6 Some extra resize bits to make sure everything gets resized:
- Resize the grid (resizes the column headers)
- Re-initialize the dynheight, just in case something changed
2013-10-10 12:25:29 +00:00
Nathan Gray
09693fc761 Remove inline javascript to file 2013-10-10 11:58:19 +00:00
Nathan Gray
9fe3bda432 - Don't try to translate config
- Better error message if destroying CKEDITOR fails
- Handle failing destroy, and make sure widget is completely removed
2013-10-10 11:57:18 +00:00
Ralf Becker
60049dd085 fixed error stalling filemanager: can not read property _parent of undefined 2013-10-10 11:23:32 +00:00
Ralf Becker
ece1062b8b fixed not translated empty_label in selectAccount or nextmatchAccountFilter: they always get translated independent of no_lang attribute 2013-10-10 10:23:37 +00:00
Nathan Gray
f12ab66b07 Ok, changing nextmatch row template via ajax should work now. 2013-10-09 17:33:29 +00:00
Ralf Becker
be0530936c fixed taglist focus and click events to adhere to new event signature 2013-10-09 17:29:36 +00:00
Nathan Gray
26f75a241b Make sure context is the widget when calling setters 2013-10-09 17:15:44 +00:00
Nathan Gray
1e8e86fe23 - More consistent firing of load event, so templates can be handled the same if the template has to be fetched or it's already there
- Caching of fetched templates in the instance manager
2013-10-09 17:14:59 +00:00
Ralf Becker
f40f41a7d4 set_value now iterates over all radioboxes with same id and (un)checks them depending on given value, DOM-id get now set_value appended to be unique 2013-10-09 16:22:35 +00:00
Nathan Gray
17c933cded Better handling of binding change handlers to async loaded header templates 2013-10-09 15:14:25 +00:00
Ralf Becker
0163442f37 changed signature of on* event handlers: 1. event, 2. widget (context is DOM node), event handlers have now type "js" in attribute description and get automatic converted to a function, no more need to call et2_compileLegacyJS 2013-10-09 14:35:03 +00:00
Nathan Gray
17e8fa094d Support changing nextmatch template after initial load (ie: in get_rows callback) 2013-10-09 14:11:44 +00:00
Nathan Gray
df660bea3c Better handling of doLoadingFinished and firing load event:
- don't fire while still loading
- prevent trying to load children before template is actually loaded from file
2013-10-09 14:10:33 +00:00
Nathan Gray
daf55af475 Don't try to resize if the columns are not set yet - there's nothing to resize 2013-10-09 14:05:05 +00:00
Nathan Gray
d22489e23b Make sure callback is there before trying to call it. If the template changes before the timeout fires, it might not be. 2013-10-09 13:07:29 +00:00
Nathan Gray
fde83c834e Register an AJAX handler for assign response type. Needs exec_id, widget ID, attribute name and value. Widget must support setting that attribute. 2013-10-09 12:56:49 +00:00
Nathan Gray
bfe208c013 Make sure favorite group widget gets cleaned up 2013-10-09 12:14:36 +00:00
Ralf Becker
3c0743cb97 implemented onfocus event for input-widgets, tested with textbox and taglist, others more complex input-widgets probably need to proxy the event 2013-10-09 09:05:30 +00:00
Ralf Becker
f46754cd1a remove href="javascript:void(0)" in favor of href="#" working with CSP 2013-10-08 10:08:09 +00:00
Ralf Becker
bafcc80e35 fixed translations not loaded on very first request, as postponing ready for waiting on translations did not work, now using a direct callback instead 2013-10-08 08:55:15 +00:00
Nathan Gray
1a4a4fdded Always set value, not just title, in nextmatch so link gets updated 2013-10-08 08:26:59 +00:00
Nathan Gray
3816abc7a7 Fix %s in label of link widget 2013-10-08 08:19:42 +00:00
Nathan Gray
5c8c51c77d Always set label, avoids label not being set properly in nextmatch 2013-10-08 08:14:24 +00:00
Nathan Gray
52f269717e Fix %s in labels in nextmatch rows 2013-10-08 07:46:44 +00:00
Ralf Becker
0bb8093426 fixed translations on client-side: server sends now currentapp and langRequire to client, which uses that to translate phrases, langRequire is only stored in egw object for matching app-name and window! 2013-10-07 17:00:03 +00:00
Ralf Becker
b7d6d4266e quite some warning 2013-10-07 16:11:25 +00:00
Nathan Gray
764bde5bff Fix broken set_value() to properly accept strings as value, fix broken adding of free entries 2013-10-07 10:10:54 +00:00
Nathan Gray
a190cd7302 Remove javascript:void() href to comply with CSP 2013-10-07 10:05:51 +00:00
Nathan Gray
869ebc3ca5 - Respect force_mailto preference
- If force_mailto is not set, open in a new window instead of current
2013-10-07 09:48:17 +00:00
Hadi Nategh
54ab073cab Fix et2_checkbox_ro widget for exceptional cases when we pass value as Non-Boolean 2013-10-05 14:04:10 +00:00
Nathan Gray
9b9a1df8a3 Use egw.open_link() to open popups so they can be tracked, if they have a target. 2013-10-05 09:40:00 +00:00
Ralf Becker
ec2de1c7e6 replace unnecessary post submits with regular ajax submits, also added a couple more todos 2013-10-04 14:43:56 +00:00
Hadi Nategh
da42c28e57 Fix grid with auto-repeat rows 2013-10-04 13:03:58 +00:00
Ralf Becker
6e30816758 fixed not working download via action system: needed submit via POST request instead of Ajax, add new boolean action attribute postSubmit 2013-10-04 12:48:11 +00:00
Nathan Gray
5d1a8e16ee Fire change event when input is changed via code 2013-10-04 10:07:34 +00:00
Nathan Gray
7cda6a630b Add a toolbar widget that displays its actions as a toolbar 2013-10-04 07:29:38 +00:00
Nathan Gray
70b8496310 Handle more complicated select_options style options, including icons. 2013-10-04 07:21:19 +00:00
Ralf Becker
dad39e1d8a moved all confirmation to api egw_actions and changed select_all to depend on all visible rows selected (Ctrl-A) 2013-10-03 15:30:27 +00:00
Ralf Becker
d7f37f5c2d fixed not displayed icon, when using et2_dialog.show_dialog(), fixed set_message to allow only plain text 2013-10-03 15:27:00 +00:00
Nathan Gray
ef884aa1cd Try for a more local parent node than window to get better sizing, explicitly resize child nodes 2013-10-03 12:56:29 +00:00
Nathan Gray
0c0dc2c943 Just re-ordering for better readability 2013-10-03 12:53:58 +00:00
Nathan Gray
3d1bdceaac Deal with rounding errors etc. so columns always take full width, and some bounds checking in case things go horribly wrong. 2013-10-03 12:52:58 +00:00
Ralf Becker
5778c9d964 fixed egw_framework::message($msg, $msg_type) was not displayed on ajax-load, eg. regular et2 submit 2013-10-03 09:09:24 +00:00
Nathan Gray
499c9f3c22 Avoid infinite heights in case there is nothing below 2013-10-02 13:11:07 +00:00
Nathan Gray
29f8a562e2 Better usage for relative column width:
- Columns with relative width specified in template are kept relative in resize
 - Columns with no width specified in template get any left over space (relative)
 - Columns with fixed width specified in template are kept fixed
These three together mean that if the user resizes the window or adds/removes columns, fixed columns don't change and any space is divided among relative columns.
2013-10-02 12:43:30 +00:00
Nathan Gray
6e8723361d Fix typos 2013-10-02 11:34:11 +00:00
Nathan Gray
e57e994e9d Works better if I define the var 2013-10-01 17:07:08 +00:00
Nathan Gray
b6ea2635d2 Handle onchange in the same way as onclick - check if it's a real function first 2013-10-01 17:03:03 +00:00
Nathan Gray
791bf29e60 Some better handling of app.appname.funcname style onclick / onchange when set in the template 2013-10-01 16:52:38 +00:00
Nathan Gray
4449e9a44b Override the correct function 2013-10-01 15:52:25 +00:00
Nathan Gray
a8136aa191 Give filemanager selection a widget front-end. 2013-10-01 15:40:14 +00:00
Nathan Gray
e2bc78b9e3 Make sure we don't lose widget context 2013-10-01 15:31:11 +00:00
Hadi Nategh
2445bfc22b Fix the regular expresion to get the right key for nested Ids using [], textbox_widget 2013-10-01 15:06:56 +00:00
Nathan Gray
52d339305e Default placeholder actions to "add" if not otherwise specified. Allows 'Add' action by default when no records shown in nextmatch. 2013-10-01 07:40:20 +00:00
Nathan Gray
83741673c3 Fix account/group select search dialog
- Broken group expansion
 - Broken styling / indents
 - Use unique IDs & data-id for account ID
2013-09-30 16:54:25 +00:00
Nathan Gray
28c2737c9f Change multi-select header styling:
- Change icons from jQueryUI to egw
- Stop hiding header when not needed, always show
- Don't visually distinguish header
- Don't float right icons, leave them between checkbox and label
2013-09-30 15:39:36 +00:00
Nathan Gray
db1077e3ed Fix extra change event firing which was breaking multiple file uploads 2013-09-25 15:52:42 +00:00
Nathan Gray
9039200578 - Handle complicated/nested IDs in left/right headers (eg col_filter[tr_tracker])
- Handle left/right headers loaded async from server when setting up handlers
2013-09-19 20:39:17 +00:00
Nathan Gray
c19f95ded8 For multiselectboxes, we need to do an array comparison for dirty, or it will always fail (be dirty) 2013-09-19 20:37:17 +00:00
Nathan Gray
3cfbcc8cf1 Trigger a load event when the template is loaded, to make it easier to work with the template when it is loaded from the server 2013-09-19 19:31:56 +00:00
Nathan Gray
1bdd5eb617 Size chosen selectboxes even if they are hidden - prevents 0 width chosen selects 2013-09-18 20:15:11 +00:00
Nathan Gray
8b01daa120 Fix selecting tab by passing in value 2013-09-18 18:01:52 +00:00
Nathan Gray
407efdbcaf Some chosen parameters:
- Inherit classes from select
- Search within, not just at start
2013-09-17 16:22:51 +00:00
Nathan Gray
8f91781933 Change nextmatch actions to use ajax submit, not post 2013-09-16 15:20:22 +00:00
Hadi Nategh
8cdbbe67fc fix et2-> nm_open_popup error,"undefined method getInstanceManager", in et2_extension_nextmatch_actions 2013-09-16 10:40:19 +00:00
Hadi Nategh
5517a29d47 Fix datepicker error,"hour is undefined" from et2_widget_date 2013-09-13 13:06:46 +00:00
Hadi Nategh
c1683552ba et2_widget_date-> datetime:Fix replacement of entered time manually with actuall time 2013-09-12 11:45:26 +00:00
Nathan Gray
871f63a9f2 Additional checks on autorepeat fallback
- Better handling of the different accepted indirect placeholders
- Add a check & error to prevent infinite loops (or crazy large grids)
2013-09-10 23:25:51 +00:00
Nathan Gray
02c6f3b108 Remove some more references to phpgwapi/js/egw_json.js 2013-09-10 18:56:50 +00:00
Nathan Gray
dcfcec3ab1 Put checkbox before label by default 2013-09-10 18:39:31 +00:00
Nathan Gray
3ae18c9a78 - Use a et2_dialog over native prompt for editing comments
- Use jsapi's egw.json() for ajax
2013-09-10 17:57:41 +00:00
Nathan Gray
ca54de9e2c Use jsapi's egw.ajaxURL() 2013-09-10 17:55:05 +00:00
Nathan Gray
8105242434 Favorites fixes
- Fixes for multiple favorites on the page at the same time (multiple et2 apps)
- Use egw.json() calls
2013-09-10 17:06:15 +00:00
Nathan Gray
4996c584b3 Use a different method to avoid special expansion breaking nextmatch - skip it for grids inside a nextmatch. 2013-09-10 16:09:12 +00:00
Ralf Becker
256b888124 fix for templates containing no bottomNodes 2013-09-10 14:40:19 +00:00
Klaus Leithoff
8667f81010 change handling of progress attribute; only XET-ids work, when fetched with getWidgetById and widget.getDomNode (it may not be available at creation time, so we (re)check on createStatus time) 2013-09-10 12:57:40 +00:00
Klaus Leithoff
355ffbbb9b change handling of progress attribute; only XET-ids work, when fetched with getWidgetById and widget.getDomNode 2013-09-10 08:08:47 +00:00
Nathan Gray
9192652877 Let progress attribute be a widget ID or the ID of a specific DOM node 2013-09-09 22:04:48 +00:00
Nathan Gray
7b9b5efe7f Apparently expandName() can also return null - handle that too 2013-09-09 21:39:31 +00:00
Nathan Gray
2087aed7a3 Check to see if the substitution actually got something, or we could wreck the nextmatch rows. 2013-09-09 19:16:05 +00:00
Nathan Gray
230472d256 Change auto-repeat detection to additionally look through widgets for IDs like const[$row] when there is no row content 2013-09-09 18:52:11 +00:00
Nathan Gray
bfef97c8fc Documentation correction 2013-09-09 18:42:51 +00:00
Nathan Gray
b485b57785 Fix for hidden old popups breaking application height. Still not perfect in idots, but much better. 2013-09-05 21:51:47 +00:00
Ralf Becker
1590d02816 new egw_framework::message($msg, $msg_type="success") method and fixing nextmatch filter-change to return app-header 2013-09-05 11:53:25 +00:00
Nathan Gray
b1aca92a9e Merge egw_jsons - use api egw.ajaxUrl() 2013-09-04 23:30:29 +00:00
Nathan Gray
c2c5337bd2 Save a little trouble by using the global egw.preferences() directly 2013-09-04 23:20:44 +00:00
Ralf Becker
1f8e0e9e41 global method egw_message(_msg, _type) to display success-, warning- or error-messages in app-header 2013-09-04 19:02:34 +00:00
Nathan Gray
c53943aa76 Another try to avoid jQueryUI error about not created menu 2013-09-03 21:25:50 +00:00
Nathan Gray
dc46ebed05 Avoid jQueryUI error about not created menu 2013-08-30 16:27:34 +00:00
Nathan Gray
4760b5f55e Keep column filters & sort of different nextmatches separate 2013-08-30 16:26:54 +00:00
Ralf Becker
b6013305f7 always replace dots with dashes in DOM id 2013-08-29 12:10:06 +00:00
Ralf Becker
020d6d9394 replace all . 2013-08-28 14:43:27 +00:00
Ralf Becker
a74795387e replace . in template-ids with - to simplify css usage, as we do it the unique id already 2013-08-28 14:24:01 +00:00
Ralf Becker
ee843a5f02 can not set undefined from server side, only null, therefore allowing that as argument for id in egw_refresh 2013-08-28 12:50:49 +00:00
Ralf Becker
c12c53bcb8 support getting app from "app_something::method" get_rows method 2013-08-28 06:59:06 +00:00
Nathan Gray
36021f5d13 Drag & drop files from user's system onto nextmatch row now working with sub-grids too 2013-08-27 20:24:55 +00:00
Nathan Gray
6028ac8eca Drag & drop files from user's system onto nextmatch row uploads & links file to that row 2013-08-27 17:26:02 +00:00
Nathan Gray
4e2843b4a1 Implement set_value() to accept a list of files, which triggers the async upload and callbacks 2013-08-27 17:20:08 +00:00
Nathan Gray
3d12c2b591 Add namespace to drop event bindings to easily remove only the ones the widget added. 2013-08-27 16:29:13 +00:00
Nathan Gray
2875455a59 Avoid error if menu was not created 2013-08-26 23:29:52 +00:00
Nathan Gray
5a5b02c304 Remove HTML from title in example - jQueryUI changed to text() so HTML no longer works 2013-08-26 19:10:26 +00:00
Nathan Gray
4fa0370ce4 Avoid error if div has no ID (eg: dialog) 2013-08-26 19:08:02 +00:00
Nathan Gray
838966ae9e Properly fix date-timeonly js side to return a timestamp as all date widgets, server side converts it to expected format, same as others. 2013-08-26 17:04:43 +00:00
Nathan Gray
3b65d807ba Better handling for disabled columns.
Disabled grid columns don't create widgets, which caused the nm issues as it expected a widget in each cell.
2013-08-26 16:42:49 +00:00
Ralf Becker
aa8a848871 optional parameter for egw_framework::window_close() to specify an alert message, which get shown/alerted, before closing the window 2013-08-26 10:24:11 +00:00
Ralf Becker
d8984be747 isDirty() method for whole template / etemplate2 object, thought it needs more work in widgets, not setting this._oldValue in their set_value() method 2013-08-23 15:15:30 +00:00
Ralf Becker
f4e1db3a68 fixed htmlarea not returning any content caused by prefixed DOM id, now all DOMwidgets have their DOM id available via this.dom_id set via this.set_id() 2013-08-23 14:10:37 +00:00
Nathan Gray
f94d213a91 Add stack trace to problem widget report so we can actually track down the problem 2013-08-21 17:18:40 +00:00
Nathan Gray
8c5cc3ca22 Fix favorites sidebox menu going missing - caused by jQueryUI CSS change 2013-08-21 16:02:24 +00:00
Nathan Gray
eb1be53297 Fix bad value in selectbox 'blank' option 2013-08-21 15:59:42 +00:00
Nathan Gray
c1be84c912 Some layout changes to get autocomplete (link widget, select users) working in dialogs too 2013-08-20 23:08:35 +00:00
Nathan Gray
17e8d00054 Fix up nm_action open_popup to match et2 unique ID changes 2013-08-20 22:23:18 +00:00
Nathan Gray
62d42c83da Some documentation, add ability to set value rather than hacking up getValue() (actions) 2013-08-20 18:49:38 +00:00
Nathan Gray
dba3bcc2aa Update timepicker, some work on date-timeonly so it returns a value 2013-08-20 18:37:09 +00:00
Ralf Becker
17203aaab3 an other missing semicolon ;-) 2013-08-20 16:43:37 +00:00
Ralf Becker
c39273ac51 allow to (optionally) add tabs to existing tabs in template instead of replacing them 2013-08-20 16:41:31 +00:00
Nathan Gray
f9ee897544 Prevent errors if refresh message is undefined 2013-08-20 15:59:16 +00:00
Ralf Becker
d9ee56bd79 adapt form::name() legacy pseudo function to new template-prefix 2013-08-20 14:23:00 +00:00
Ralf Becker
73aa652c41 missing egw.js from last commit and egw_framework::window_focus() method 2013-08-20 13:25:36 +00:00
Ralf Becker
1c4f65120c new egw_framework methods refresh_opener and window_close to call egw_refresh on opener or close popup window in a content security save way 2013-08-20 12:06:41 +00:00
Ralf Becker
d244ab7c79 NOT using html5 input type="time", as there is (intentionally) no way to control time-format, but with current state of html5 support, our preference is more relyable and we dont want users to open bugs because we do not respect their EGroupware time-format preference 2013-08-20 09:42:00 +00:00
Ralf Becker
155f771cc4 fixed not shown select-columns icon, rather hackisch, but I could not find a solution via our css files 2013-08-20 08:03:46 +00:00
Nathan Gray
e4b158be4b Give nextmatch a real getValue() function instead of faking it all the time. 2013-08-19 20:23:26 +00:00
Nathan Gray
d7375a2321 Add tooltips to popup header buttons 2013-08-19 20:21:56 +00:00
Nathan Gray
656560c376 Make sure et2 apps don't get passed back to old etemplate 2013-08-19 19:53:45 +00:00
Hadi Nategh
fadca5bb6b fix set value for class when there is an assigned content to class= in .xet file 2013-08-16 08:11:06 +00:00
Nathan Gray
eec6791213 Silence some missing attribute settings warnings and fix warning about not loading app.js when it was already loaded 2013-08-14 18:01:22 +00:00
Nathan Gray
42e66e9319 Fix detached label not updating 2013-08-14 17:35:50 +00:00
Nathan Gray
7e1a785615 Make whole edit dialog a drop target - files will be uploaded & linked
Done in the link widget, so any template with link-to should work.
2013-08-13 20:46:23 +00:00
Nathan Gray
6fdeb9f5f8 Drag files from desktop anywhere onto filemanager uploads 2013-08-09 23:34:42 +00:00
Ralf Becker
c8aa72039f html-encoding is done in etemplate engine 2013-08-09 11:17:30 +00:00
Ralf Becker
11f7673408 keeping options in format used for select-boxes everywhere else and convert to taglist.setData format just when calling setData, added new method select_all to set_value all items in select_options 2013-08-08 08:56:43 +00:00
Ralf Becker
99b6fe41e7 fix set_value to work after inital load, eg. on a button press 2013-08-07 14:52:12 +00:00
Ralf Becker
b70f4bcd27 fixed taglist to no longer require ids to be set in select_options, IF allowFreeEntries is left on its default true 2013-08-06 18:31:24 +00:00
Nathan Gray
dacc98ae72 Add drop_target attribute to support HTML5 dropping of files 2013-08-03 19:12:38 +00:00
Klaus Leithoff
a69df51eaa as insertObject (called by treeObj.addObject) expects id to be either string or object, we cast the option.id in case its a number 2013-08-01 09:54:32 +00:00
Nathan Gray
72fb016cb4 Fix dropdown + favorites menu not doing anything when clicked. 2013-07-30 14:17:36 +00:00
Nathan Gray
6b537a1358 Add taglist-email sub-type, uses specific data source, formatting, and some client-side validation for just emails. 2013-07-30 14:16:47 +00:00
Ralf Becker
a293de8614 fix not working full submits if etemplate is etemplate_old and app uses etemplate_new 2013-07-30 12:21:19 +00:00
Ralf Becker
364fbd0f66 fixed wrong call leading to maximum stack size exhaused error 2013-07-22 14:11:58 +00:00
Ralf Becker
f0808f09af fixed action _target.id was id of tree and not of action 2013-07-22 06:34:01 +00:00
Nathan Gray
f4a6c9859a More fixes forjQuery/jQueryUI update issues 2013-07-20 17:20:55 +00:00
Ralf Becker
f2906a1052 moved most action "comfort" functions (with exception of nm_action and pagination) from server-side nextmatch class to client-side egwActions.updateActions() method, so they are available for all widgets 2013-07-20 16:47:33 +00:00
Klaus Leithoff
0a37e675bd allow to set a limit of selected entries 2013-07-20 14:03:06 +00:00
Nathan Gray
bd63529096 Rework etemplate2 loading to use JSON plugin when loading from regular request & AJAX. instead of inline script tag 2013-07-20 13:57:53 +00:00
Nathan Gray
f60fa14c30 Wrap loadingFinished() in a try / catch, so if one widget has problems it doesn't break the whole template. 2013-07-20 13:54:31 +00:00
Nathan Gray
a21f6aedfe Check to see if autocomplete is available before destroying 2013-07-20 13:51:12 +00:00
Ralf Becker
74cb73d2d2 moved most action "comfort" functions (with exception of nm_action and pagination) from server-side nextmatch class to client-side egwActions.updateActions() method, so they are available for all widgets 2013-07-20 13:45:22 +00:00
Nathan Gray
2beadad730 Make sure dialog is created before trying to update buttons 2013-07-20 13:05:03 +00:00
Nathan Gray
49ef157e69 Continued development on taglist widget:
- More attributes
- Fix missing parent class and action system handlers
2013-07-19 15:07:35 +00:00
Nathan Gray
d2d0fa1fcd Check for proper type (string) if I want to use string functions 2013-07-19 12:38:52 +00:00
Nathan Gray
36b5590882 Fix wrong argument order to jQuery.proxy() 2013-07-19 12:37:47 +00:00
Nathan Gray
b7ad0d33f8 Make sure onclick callback functions (specified as app.appname.funcname, or a real function) get all parameters passed, and they always can have a reference to the responsible widget 2013-07-19 12:36:59 +00:00
Nathan Gray
5b5a3ad58f Fix copy-paste error in js attribute check 2013-07-19 10:55:07 +00:00
Nathan Gray
eb18408771 jQueryUI update changes where custom renderer hides 2013-07-19 09:31:00 +00:00
Nathan Gray
4ae6094d8d New tag list widget, supports ajax & static options 2013-07-18 15:27:39 +00:00
Nathan Gray
14ebff54c9 Changes from updating jQuery & jQuery UI to latest versions 2013-07-18 15:26:41 +00:00
Nathan Gray
b3bf5b734f Make unique ID deterministic - use template name 2013-07-18 09:21:07 +00:00