Commit Graph

3751 Commits

Author SHA1 Message Date
Hadi Nategh
07d2319487 Fix nm filter overlay search and fav divs, by give other nodes position:relative too, to get z-index into account 2014-03-07 16:36:45 +00:00
Ralf Becker
83b20c2019 some changes to dtd and added otherwise implemented "readonly" attribute to inputWidget 2014-03-07 09:08:47 +00:00
Nathan Gray
96bc660ee3 Clear filters before applying header changes, to handle the case of nulled input, which would otherwise be skipped, and the old value filled in. 2014-03-06 22:09:40 +00:00
Nathan Gray
8a3cda964e Fix clearing date field does not fire change event 2014-03-06 21:17:37 +00:00
Ralf Becker
ee50a6b9bb fix to work correctly with actions containing only a string/caption, using action.execute() to get automatic confirmation from action system and defaulting to default actions (not all actions) if last action is dragged off 2014-03-06 18:38:02 +00:00
Ralf Becker
06ffa47c25 new "default_execute" attribute to set default onExecute for all actions 2014-03-06 18:35:57 +00:00
Ralf Becker
cda62917d8 position image in button with just an image centered and remove border from toolbar 2014-03-06 18:34:54 +00:00
Nathan Gray
dbbad57f90 Fix selecting next entry when there are no others 2014-03-06 18:07:47 +00:00
Hadi Nategh
d67a0280a7 **Add the first version of Document Type Definition file for etemplate2, in order to be able to validate xet file syntax 2014-03-06 17:50:57 +00:00
Ralf Becker
5facfc02a1 fixed IDE warnings 2014-03-06 11:01:23 +00:00
Ralf Becker
6cdea51c9e when activating mailto-links/email addresses use mail app unless (addressbook-)preference says otherwise 2014-03-06 10:42:37 +00:00
Ralf Becker
f68a2ac1f5 fixed link activation in et2_description (activate_links parameter) to always use target _blank, also fixed docu in that extra_link_target is only for href attribute 2014-03-06 10:41:22 +00:00
Ralf Becker
5dadb463c8 reverted image to idots one 2014-03-06 09:48:42 +00:00
Ralf Becker
bf75bda899 fixed nextmatch header for idots/Stylite template 2014-03-06 08:30:58 +00:00
Ralf Becker
e41fbe59ff using current app, if no or empty source given 2014-03-06 07:50:06 +00:00
Ralf Becker
cdf0374755 some more tweeking for et2_fullWidth: positioning icons for et2_url* widget behind input 2014-03-05 18:10:35 +00:00
Nathan Gray
5fa9a9c0d0 If categories get updated in a get_rows() call, clear the rowProvider internal cache so it uses the new values 2014-03-05 17:21:13 +00:00
Nathan Gray
1124c62200 Allow changing sel_options with array data, not just key => value pairs 2014-03-05 17:20:17 +00:00
Ralf Becker
35d7ee2924 general purpose et2_fullWidth class to "make" every widget take full width of parent 2014-03-05 11:30:00 +00:00
Nathan Gray
bb3eb717c1 Refactor huge data fetch into chunks so long task doesn't die. 2014-03-04 20:35:41 +00:00
Ralf Becker
99e97d2bfc fixed Selecting an InfoLog category does not show this cat but "Loading" 2014-03-04 17:27:19 +00:00
Ralf Becker
3e13b3f77b use app[appname].setState if available to allow app to overwrite it (eg. change to non-listview in calendar) 2014-03-04 17:00:27 +00:00
Ralf Becker
84c611cb2c fixed click on favorite (funnel) always resets all filters, not change to default favorite selected via radio buttons 2014-03-04 16:27:20 +00:00
Ralf Becker
947c2f0462 not visible nextmatch will run refresh when it becomes visible again (not just ignoring it) 2014-03-04 16:05:38 +00:00
Ralf Becker
ef7c2e5faa fix IDE warnings 2014-03-04 15:08:34 +00:00
Ralf Becker
5af397132a fixed opening of addressbook entries sometimes fails after searching: caused by not detected filter change and kept, but no longer displayed selection
JSON.stringify(this.controller._filters) == JSON.stringify(this.activeFilters) seems always true, like if it is a reference and not the old state
changed code not to change activeFilters only by calling applyFilters with requested change and detecting there if we have a change
2014-03-04 13:49:33 +00:00
Hadi Nategh
1e449f571a Bind a click handler to collapse the toolbar menulist when click event occurs 2014-03-04 11:03:03 +00:00
Hadi Nategh
d05390db68 Fix cancel and yes buttons icon in idots and jdots repeated x times 2014-03-04 09:30:39 +00:00
Hadi Nategh
0ad6f6cda6 Fix wrong icon height for toolbar widget in idots and jdots templates 2014-03-04 08:45:20 +00:00
Nathan Gray
5abc2eceef Fix broken delete of link when to_id is not set (not saved entry) 2014-03-04 00:26:42 +00:00
Nathan Gray
d2b2f71058 If select all + long task, fetch all from the server or else it will just run on what's in the grid. 2014-03-03 23:24:05 +00:00
Nathan Gray
38e6e353fd Avoid error when clicking on a link with just title 2014-03-03 22:29:44 +00:00
Nathan Gray
e6d6c3c270 Fix nextmatch sort header does not indicate sorted column after reload. 2014-03-03 21:25:00 +00:00
Nathan Gray
2bf0f96602 Nextmatch uses value to store most attributes, so get value from request to get access to those.
Fixes unable to force infolog details column selection.
2014-03-03 21:00:31 +00:00
Nathan Gray
f561e7e7bf Add check for automatic 'All' option to avoid extra 'All' options when app stores category options in session. 2014-03-03 17:53:27 +00:00
Nathan Gray
b7c989adf8 Use grid's deleteRow() in combination with setTotalCount().
Fixes deleted row remaining, breaking grid after update(), (first row remains after changing filter)
2014-03-03 17:32:12 +00:00
Ralf Becker
2a06876b78 widget to display an application icon 2014-03-03 16:50:01 +00:00
Ralf Becker
44fc850d75 ignoring $row not only for "nm" namespace and fixed IDE warnings 2014-03-03 15:55:05 +00:00
Ralf Becker
a5a0024545 only search custom fields, if extending class does not set this->columns_to_search explicit, also fixed IDE warnings 2014-03-03 11:45:38 +00:00
Ralf Becker
aa850d24fc implemented account_type: (accounts|groups|both) option for taglist-account as available in select-account widget 2014-02-28 16:52:42 +00:00
Ralf Becker
1de16f8a6a fix numerical ids in taglist-account, without need to supply them from server-side 2014-02-28 14:24:01 +00:00
Ralf Becker
e154e35ad6 fixed etemplate.inc.php download (happens only if directory is not writable) has zero length. Caused by output buffering and unbuffered php://stdout instead of php://output used 2014-02-28 08:26:53 +00:00
Nathan Gray
9a7033ece9 Fix bug in calculating readonly based on parent. Fixes readonly templates still having editable content. 2014-02-27 21:26:10 +00:00
Nathan Gray
a07cfda06b Silence error log 2014-02-27 20:25:06 +00:00
Nathan Gray
a7c306d649 Prefer custom dataStorePrefix, if set, over appname for UID 2014-02-27 19:38:30 +00:00
Nathan Gray
6852499d91 Fix color widget failing if it had no value 2014-02-27 18:19:12 +00:00
Hadi Nategh
c0c20ed9d2 Fix wrong jQuery assignment to menulist Node in toolbar widget, and replace another jQuery with internal vars 2014-02-27 18:15:08 +00:00
Ralf Becker
30de2b30c2 using internal vars instead of search in DOM, which might not yet be ready, necessary to set actions via modifications 2014-02-27 17:45:25 +00:00
Ralf Becker
2e287689ef allow to call etemplate_widget::setElementAttribute() static eg. from within a get_rows method 2014-02-27 17:43:51 +00:00
Nathan Gray
208cd55d23 Use Tab key to enter free entries, same as Enter key. Press again for next field. 2014-02-27 00:30:37 +00:00
Ralf Becker
e24c721409 remove links user has no rights to view (were shown as "false" befor) 2014-02-26 17:38:43 +00:00
Ralf Becker
c4385f79ec fixed can not access property uid of undefined, but there seems to be more problems with new persistent selection between "refreshs" 2014-02-26 12:18:30 +00:00
Hadi Nategh
095cb846f6 * etemplate: introduces new type of taglist specificlly for groups and accounts, called "taglist-account". It fetchs groups and accounts plus allows free entries too 2014-02-26 10:49:01 +00:00
Nathan Gray
2a43a12492 Keep selection if applyFilters() does not actually change filters.
This happens for several refresh conditions.
2014-02-25 22:26:55 +00:00
Nathan Gray
b598a6ffcc Use controller.update() instead of refresh() for autorefresh to preserve selection & scroll 2014-02-25 19:40:31 +00:00
Nathan Gray
564507665d Missing parameter documentation 2014-02-25 19:38:31 +00:00
Nathan Gray
4cd4297299 Fix wrong row count after delete 2014-02-25 17:51:36 +00:00
Nathan Gray
22985819b0 If user selected a link entry but did not click link, pass it back to application.
Now fixed to support new entries (no to_id) also.
2014-02-25 17:04:43 +00:00
Nathan Gray
49a4554303 Add missing check for short form. Fixes broken addressbook organization view. 2014-02-25 16:17:41 +00:00
Ralf Becker
a021f998e0 fixed template was not prepending parent/top-level name, but search for first loaded template which ends in its name eg. "rows" used in "mail.sieve.index" picked "addressbook.index.rows" instead of "mail.sieve.index.rows" 2014-02-25 13:04:28 +00:00
Nathan Gray
cd3387448a If user selected an entry to link to, but didn't click 'Link' button, link anyway on save. 2014-02-24 20:26:26 +00:00
Nathan Gray
7a35d59f65 Add processing flag to keep enter keypress while typing separate from enter keypress to select a result 2014-02-24 20:00:34 +00:00
Ralf Becker
e96ec115a0 fixed sending of arbitrary JSON data egw_json_request::isJSONRequest(false) 2014-02-24 18:46:14 +00:00
Nathan Gray
3e42778f1c Default width for expand icon, so it's at least clickable 2014-02-24 18:19:41 +00:00
Nathan Gray
ace335415f Add expand_multiple_rows attribute which adds a button to toggle between single & multiple select 2014-02-24 18:13:54 +00:00
Ralf Becker
2908b9466b fixed not working retransformation of date* custom fields to Y-m-d[ H:i:s] format, caused by not calling validation of implementing base-widget, also added options from file and sending available options from server, as for regular select options 2014-02-24 14:47:55 +00:00
Ralf Becker
2955e89bbe quitened permanent error_log 2014-02-24 11:55:25 +00:00
Ralf Becker
4ff1a4efd1 fixed after new shutdown handling broken autoloading of tree nodes: json.php is used to send arbitrary JSON data, instead using egw_json_response methods (egw_json_request::isJSONRequest(false) turns that off now) 2014-02-22 15:51:14 +00:00
Ralf Becker
82704bd0d2 jdots needs sidebox/navbar data in header call, therefore enable navbar BEFORE calling header 2014-02-21 15:41:07 +00:00
Hadi Nategh
1561dc1caf Fix label attribute in date-time readonly widget 2014-02-21 12:22:33 +00:00
Hadi Nategh
3105054be0 Fix toolbar default actions for flat_list toolbar 2014-02-20 18:04:04 +00:00
Nathan Gray
b2aabac6f9 - Fix VFS widget names when name is not part of path
- Fix VFS link titles for app entries
2014-02-20 17:41:33 +00:00
Ralf Becker
b2c275436a fixed javascript error "Can not set readonly property" in Safari, caused by wrong context 2014-02-20 13:29:35 +00:00
Ralf Becker
3cbf1d24fb * eTemplate/all apps: limit displayed history to 500 entries 2014-02-20 12:47:06 +00:00
Hadi Nategh
7a01a55120 More styling for dropdown action in toolbar widget 2014-02-20 11:03:34 +00:00
Ralf Becker
5f2c5e1d9a restoring value at end of etemplate::show_cell() as it is a reference into content and some widgets (IP-address cf) rely on being able so set content while using multiple widgets with same name relys on it being unchanged 2014-02-20 09:43:00 +00:00
Nathan Gray
c735663346 Work in progress of straightening out the user selection options 2014-02-20 00:35:07 +00:00
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