Commit Graph

1321 Commits

Author SHA1 Message Date
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