Commit Graph

3300 Commits

Author SHA1 Message Date
Ralf Becker
e5f76db8a8 fixed a typo in previous commit and get setting of value in typeOptions working 2013-11-06 08:59:38 +00:00
Ralf Becker
2793ab44fd fix select-dow widget to return again a single value by oring together selected week-days 2013-11-06 08:49:06 +00:00
Ralf Becker
c7d566533e fix Nathans fix for old editor, to only use fallback for new widgets, if a type is given 2013-11-05 10:22:19 +00:00
Klaus Leithoff
395dd415f8 fix for an etemplate:: call, that seems to be outdated self:: seems to be the static object to use now 2013-11-05 08:32:03 +00:00
Nathan Gray
4d8371d015 Fix missing eroles in element list 'Element role' column 2013-11-04 21:53:05 +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
Ralf Becker
f41480a3f6 added a couple more widgets not having an own server-side class 2013-11-04 19:33:57 +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
Nathan Gray
5b7f804877 Stop fatal error about missing argument 2 to textbox 2013-11-04 18:57:42 +00:00
Nathan Gray
d4be70de5a - Use a hook for app's custom widgets to avoid scanning filesystem
- Use new hook to load importexport's filter widget
- Remove some typos & error_log()s
2013-11-04 17:23:58 +00:00
Ralf Becker
7f50ed9f1a fixed renumbered option-values because of array_merge 2013-11-04 16:05:51 +00:00
Ralf Becker
7180f78f00 setting default for optional 2. beforeSendToClient parameter to null 2013-11-04 15:41:58 +00:00
Ralf Becker
88dd91fe2a put class attribute on menupopup instead of menulist, as that is where et2 looks for it 2013-11-04 11:54:51 +00:00
Ralf Becker
e2b9443fa0 no need to load not autoloadable widgets, in fact is messes up loading order in old etemplate editor 2013-11-04 10:23:42 +00:00
Ralf Becker
1dd3ad5e0a fixed ckeditor wont start with NOT expanded toolbar 2013-11-04 10:13:28 +00:00
Ralf Becker
1fe139c822 never send passwords back to client, instead send a number of asterisks and replace them again on server-side 2013-11-04 09:11:11 +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
7e856af544 mark popups as such by enclosing there content in div#popupMainDiv and properly closing html markup for popups 2013-11-03 09:30:25 +00:00
Ralf Becker
4dbb522887 only add html5 required attribute if validation is NOT ignored, like eg. in editor 2013-11-02 17:30:07 +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
Ralf Becker
511a925bb4 excluding contact_widget causing to load etemplate_widget and etemplate_widget_transformer, not playing nice with old editor 2013-11-02 10:28:56 +00:00
Nathan Gray
7f98f428a0 Adapt importexport for etemplate2 2013-11-01 22:04:43 +00:00
Nathan Gray
1e786ec974 Automatically send widget attribute changes made while processing an ajax submit.
(App code can return without calling exec() to avoid re-rendering the whole thing)
2013-11-01 21:48:22 +00:00
Nathan Gray
0c87bd63e7 Fix for sub-templates set via content not properly validated on submit 2013-11-01 21:39:45 +00:00
Nathan Gray
36d930ad41 Explicit method visibility is supposed to satisfy PHP 5.4 2013-11-01 21:19:08 +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
Ralf Becker
04a066154e fixing PHP fatal error: "Object of class etemplate could not be converted to string", caused by last commit 2013-10-31 08:49:46 +00:00
Ralf Becker
e4e3627cdc fixed first row with index="0" got displayed wired eg. in file selection popup, caused by empty("0") === true 2013-10-31 08:34:14 +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
Ralf Becker
c3d3ca9973 fixed wrongly disabled tabs 2013-10-25 12:26:44 +00:00
Ralf Becker
e8ac0674e1 need to compare short names, as long name generated by prefixing with template-name is not found, because different template name 2013-10-25 11:39:05 +00:00
Ralf Becker
f62028444d disable tabs independent of using short or full name, eg. $readonlys["tabs"]["test"] = true works as well as $readonlys["tabs"]["app.something.test"] = true 2013-10-25 07:31:45 +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
Ralf Becker
2f0f2ae303 * All apps: new custom-field type IP-Address getting initially set with remote IP address, and allowing to set negativ length for text fields to make them readonly 2013-10-24 17:22:23 +00:00
Nathan Gray
9bdaf0f338 Silence error log 2013-10-24 17:05:22 +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
Ralf Becker
32e033df6f * PostgreSQL/Addressbook: fixed SQL error when sorting by a custom field 2013-10-24 14:57:36 +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
5fab641aef - Get eroles displaying in element list
- Remove unused js file
2013-10-17 17:02:36 +00:00
Nathan Gray
10f3665853 If there is no template specified, resolve immediately 2013-10-17 15:23:33 +00:00
Ralf Becker
056e5680b8 make sure to load all cfs, if "customfield" in in selected columns 2013-10-17 14:08:54 +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
Ralf Becker
38504680b7 setting CSP attributes needed by CKeditor now automatic when egw_ckeditor_config::get_ckeditor_config(_array) get called 2013-10-14 10:42:36 +00:00
Klaus Leithoff
ceb20da716 fix preset of taglist value 2013-10-14 08:37:49 +00:00
Ralf Becker
6f5207953e * PostgreSQL/ProjectManager: fixed SQL error "pm_id is ambigues" when accessing /apps/projectmanager via filemanager
instead of aliased primary key, we have to use original column incl. table-name as alias is ambigues
2013-10-14 07:53:13 +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
0d7f213c7d No longer need to change onchange here, client side does it 2013-10-10 13:12:33 +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
0e2e88c19b fixed hiearchy display in infolog and reset of subs view via clicking on InfoLog icon/header, using now value of nm[parent_id] as key for col_filter 2013-10-10 11:29:31 +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
24e3fb2e63 fix "Got invalid title request, by NOT sending empty requests" warnings 2013-10-10 10:49:41 +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
Ralf Becker
12717741e4 load app translations on ajax-submit too 2013-10-10 09:32:25 +00:00
Klaus Leithoff
2a61ac9264 allow to pass config/validation rules to current purifying engine (HTMLawed) 2013-10-10 09:30:25 +00:00
Ralf Becker
47c3495a86 appending modification time to eTemplate url 2013-10-10 08:19:20 +00:00
Nathan Gray
f12ab66b07 Ok, changing nextmatch row template via ajax should work now. 2013-10-09 17:33:29 +00:00
Nathan Gray
da6d3d2d19 Also ignore total, or it will reset the normal method of setting it... 2013-10-09 17:32:28 +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
147e469b02 missed docu-update on postSubmit 2013-10-07 16:12:04 +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
Ralf Becker
43e1bfcc12 switching on Content-Security-Policy: script-src 'self' 'unsafe-eval' for all templates, old non-et2 apps can call egw_framework::csp_script_src_attrs('unsafe-inline') to enable inline scripts in their scope, et2 does it for CK editor which does not support CSP currently and old etemplate does it for all apps using it 2013-10-05 13:33:28 +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
Nathan Gray
5d746529a7 Documentation update 2013-10-04 13:25:05 +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
4c1dd51f0a Fix another occurrence of search icon still using jQueryUI icon 2013-10-04 07:38: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
c4fc4699a4 Paul's fix for annoying link title error popping up 2013-10-03 07:12:53 +00:00
Nathan Gray
499c9f3c22 Avoid infinite heights in case there is nothing below 2013-10-02 13:11:07 +00:00
Nathan Gray
d8ae1a63a4 Nicer default styling for image buttons, and default vertical alignment for hboxes 2013-10-02 13:03:16 +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
bc6acd4a3e Mix preserved arrays replacing new arrays when new array is empty 2013-10-01 09:20:23 +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