Commit Graph

3674 Commits

Author SHA1 Message Date
Nathan Gray
1c4b473d6f Make template cache static class level variable, so they're always available & persist for session 2014-02-19 22:30:59 +00:00
Nathan Gray
bec852fed2 - Avoid error if something tries to refresh a destroy()ed nextmatch
- Fix not-cleared popup action
- Fix timing bug where nextmatch could display old data after an action
2014-02-19 22:02:09 +00:00
Nathan Gray
45303ecb15 Allow template attribute to be the ID of a known template, not just a separate file 2014-02-19 21:57:10 +00:00
Nathan Gray
9b84be6d01 Fix some group selections showing accounts instead 2014-02-19 21:54:48 +00:00
Hadi Nategh
e5aa366641 Some styling for toolbar 2014-02-19 18:14:41 +00:00
Hadi Nategh
3b8eeb12ca Fix dropdown action in toolbar widget 2014-02-19 17:52:31 +00:00
Ralf Becker
a7ee896adb create wrapper only for overflow != "visible", not needed otherwise and can break existing code, eg. name popup in addressbook.edit 2014-02-19 17:18:54 +00:00
Nathan Gray
ac653d6c9a Set top level owner to top level widget.
Fixes error if read-only expansion runs off the top of the tree, and no owner found.
2014-02-19 00:28:38 +00:00
Nathan Gray
c1689c7328 Fix account selection missing members of non-primary groups 2014-02-18 22:36:22 +00:00
Nathan Gray
aca00c49f7 Fix account selection did not contain primary group members
Was visible in infolog list account filter headers
2014-02-18 22:08:15 +00:00
Nathan Gray
8456cd0c9d Implement overflow & height for table
Uses a wrapper div, since tables don't care about height or overflow.
2014-02-18 20:20:35 +00:00
Nathan Gray
a7a1474229 Add a check for invalid position preference.
This happens if the user has switched to a window smaller than previous, where their preference is now invalid.
Fixes splitter at top when viewing mail in smaller window.
2014-02-18 16:55:55 +00:00
Ralf Becker
73523fbecc extra option 0 => None set in addressbook for cat_id got lost 2014-02-18 16:44:20 +00:00
Ralf Becker
ae057bd957 fixed cat-id in nextmatch header of addressbook is in id-order and not alphabetic/hierarchical order 2014-02-18 16:35:54 +00:00
Hadi Nategh
d500e4cc91 Fix actions over grid always return the last row DOMNode, by passing DOMNode to et2_action_object_impl constructor for cases like the infamous loop problem (JS closure) 2014-02-18 13:59:45 +00:00
Ralf Becker
60def94d07 pixelegg changes from Monday 2014-02-18 08:11:14 +00:00
Ralf Becker
017d3ade8f setting display: inline-block for et2_file, as it is supposted to be an inline element, fixes multiple lines in toolbar for non-Pixelegg templates 2014-02-17 15:39:53 +00:00
Ralf Becker
d01d5119ca calling app[appname].et2_ready(et2,name) with template name as second parameter 2014-02-17 14:58:20 +00:00
Ralf Becker
6a1b0e846d fix javascript error if data not available 2014-02-17 14:53:53 +00:00
Ralf Becker
639fd82199 force re-import of etemplates if app-version changes 2014-02-17 14:28:05 +00:00
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
Ralf Becker
8d48058f22 historylog need to use $this->id as namespace for sel_options to NOT overwrite regular sel_options, fixes addressbook-selection in addressbook.edit contains all users instead of only ones user has rights for 2014-02-13 12:50:29 +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
Nathan Gray
9ca2ec2329 Silence error log 2014-02-12 18:35:04 +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
bceab8aa94 More styling for toolbar actions 2014-02-11 15:31:48 +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
251f13cedb Set minimum width for toolbar menulist, to start always with reasonable size 2014-02-11 11:12:25 +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
Ralf Becker
5b6064d360 new et2_nowrap class to not wrap content of a single widget incl. label or children of a hbox 2014-02-07 16:12:46 +00:00
Ralf Becker
b90d93ddbb hide (vertical) scrollbar for more... submenu 2014-02-07 13:13:24 +00:00
Ralf Becker
7fc89ea36d fixed serverside validation to understand hierarchical structure used for tree and to NOT try to validate if autoloading is enabled as we dont know all nodes 2014-02-07 13:08:00 +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
794cecabc1 fixed styling or [more...] pulldown 2014-02-07 09:49:35 +00:00
Ralf Becker
0198a5196f pixelegg changes from today 2014-02-06 17:36:03 +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
Nathan Gray
9f8c4a5e25 Import default magicsuggest CSS, fixes missing tag list styling in idots/jdots 2014-02-06 17:22:46 +00:00
Hadi Nategh
e6f96648a3 Remove unwanted width:100% for toolbar buttons 2014-02-06 14:11:31 +00:00
Hadi Nategh
680d6ad7e0 Fix rtl "more..." in toolbar widget. In addition, arrange actions in menulist a bit better 2014-02-06 14:05:28 +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
8225546999 Add some et2 toolbar widget basic css classes 2014-02-06 12:18:05 +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
ea7e1fbae9 Fix parent flag causing expanded row to use too much vertical space 2014-02-05 23:18:38 +00:00
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