Commit Graph

1977 Commits

Author SHA1 Message Date
Ralf Becker
2bd343ee05 - processsing actions now on serverside, also creating action_links array
- call_get_rows return now directly rows indexed by row-number: start, ..., start+num_rows-1
- non-numerical indexed rows are returned as is
--> widget still calls ajax_get_rows, even as we supply the first N=25 rows
2011-09-14 09:41:08 +00:00
Nathan Gray
a3901bd00f Link list 2011-09-14 00:06:04 +00:00
Nathan Gray
6b361f770f Handle app/image_name style values 2011-09-14 00:04:54 +00:00
Nathan Gray
43449a0c24 Fix bug where display was not using user preference 2011-09-14 00:04:06 +00:00
Ralf Becker
77f2a043fc local caching and queueing of egw.link_title() requests 2011-09-13 19:55:06 +00:00
Ralf Becker
5cadd29d58 Basic egw.link_title(_app,_id,_callback,_context) method.
Plan is to run a clientside cache and own queue for link_titles, as server can query titles for N id's for a given app more effiently then N separeate queries.
2011-09-13 18:23:43 +00:00
Nathan Gray
e31357bd88 Fix date & duration in dataview 2011-09-13 17:37:29 +00:00
Nathan Gray
077acb3fb0 Better warning to help track down offending widget 2011-09-13 17:18:00 +00:00
Klaus Leithoff
74b41ec99a fix bug regarding merge_print with export_limit set in calendar, as calendar may pass a search query instead of a list of ids (this is the reason, why the test within bo_merge on export_limit is not working as expected) 2011-09-13 15:41:31 +00:00
Klaus Leithoff
d52c72207c * calendar/importexport/addressbook: calendar introduce new config option to set app specific export_limit; calendar csv export: use enumerate for exporting events as csv; bo_merge: introduce new helper functions to get and check export-limit; addressbook: use new helper functions 2011-09-13 09:05:33 +00:00
Klaus Leithoff
55ba753e3c making 1st param for custumfield_widget construct (ui) optional, to avoid warning 2011-09-13 08:38:16 +00:00
Nathan Gray
f44558a385 Got link entry working as separate widget 2011-09-12 23:43:39 +00:00
Nathan Gray
1bf74cc95b Read only for date 2011-09-12 15:21:42 +00:00
Ralf Becker
132cafc8a9 check if we can use the XSL extension, to not give a fatal error and rendering whole merge-print non-functional AND only keep tags, if XSL is available 2011-09-12 10:51:21 +00:00
Ralf Becker
9066385fa5 check if we can use the XSL extension, to not give a fatal error and rendering whole merge-print non-functional 2011-09-12 10:21:18 +00:00
Ralf Becker
2aff9d170b implementation of old server etemplate::js_pseudo_funcs() on client as et2_js_pseudo_funcs, thought we need to pass the namespace to et2_checkType!!! 2011-09-10 13:16:40 +00:00
Ralf Becker
d2adcf972d skip the empty (NULL) row 2011-09-09 19:55:22 +00:00
Ralf Becker
791f4ae071 remove empty rows required by old etemplate to compensate for header rows 2011-09-09 19:46:44 +00:00
Ralf Becker
387be881ee egw.link(_url, _vars) method and using it for JS event handler 2011-09-09 19:41:09 +00:00
Nathan Gray
18a930446f Avoid '_node is undefined' error breaking nm 2011-09-09 16:50:44 +00:00
Nathan Gray
c0962b1ce7 Don't give an exception on null values 2011-09-09 16:46:55 +00:00
Ralf Becker
4600445527 fixed exception with text "0" 2011-09-09 16:30:20 +00:00
Nathan Gray
a5ea1f78d9 Get selectbox _appendOptionElement working with empty_label automatically 2011-09-09 15:47:38 +00:00
Andreas Stöckel
5a994382ed Added forgotten et2_dataview_view_rowAOI.js 2011-09-09 14:41:11 +00:00
Andreas Stöckel
1b74d53608 grid now keeps its average height setting after clearing 2011-09-09 14:40:28 +00:00
Andreas Stöckel
2290b04102 Loading data from server in nextmatch widget - readonlys is not processed as it is not so easy to handle 2011-09-09 14:32:55 +00:00
Ralf Becker
e998a1fed5 - sending 25 rows with inital request to client
- callback for further rows from client
2011-09-09 14:00:30 +00:00
Ralf Becker
b045e1f852 stopping permanent error_log 2011-09-09 13:26:54 +00:00
Ralf Becker
64b4ac7e68 added a static method max_upload_size_message, required by some apps 2011-09-09 13:26:14 +00:00
Ralf Becker
395f4a804d added progress-widget 2011-09-09 12:39:27 +00:00
Ralf Becker
e4b8dfd9f5 working progress widget, thought infolog uses a button with an image, which is a progressbar ... 2011-09-09 12:17:16 +00:00
Andreas Stöckel
3ec9de5a30 Removed silver nextmatch background color introduced for debug purposes 2011-09-09 11:44:44 +00:00
Andreas Stöckel
58bc3367df Implemented server-side callback function 2011-09-09 11:29:07 +00:00
Andreas Stöckel
45d02dfeb9 Fixed dataview dependencies and got nextmatch-widget load in timesheet.index 2011-09-09 09:57:59 +00:00
Ralf Becker
476deb3605 query_list(). initialize return value to array(), to allways return an array 2011-09-09 09:41:51 +00:00
Andreas Stöckel
65a90eabb8 Defaulting 'null' entries in the content-arrays to {} 2011-09-09 09:28:48 +00:00
Ralf Becker
efca5500d9 first try of a progress widget, not yet working :-( 2011-09-09 08:29:31 +00:00
Ralf Becker
bef3880b48 fixed wrong name 2011-09-09 08:28:40 +00:00
Nathan Gray
89991ffb60 Link widget with async file upload + linking 2011-09-09 00:05:46 +00:00
Nathan Gray
312fcf2e0b - Change remove file handler to only remove if you click the x, not the whole entry
- Add hooks for js functions when upload starts and finishes
2011-09-09 00:05:18 +00:00
Ralf Becker
ea03c4032b implemented link attributes for image-widget and added them to xulio, some docu for describtion 2011-09-08 20:44:53 +00:00
Nathan Gray
e7af7de431 Pass etemplate_exec_id in POST instead of GET to avoid potential issues with long ids 2011-09-08 20:33:46 +00:00
Andreas Stöckel
57dc999881 Activating et2_IDetachedDOM implementation of et2_image widget as image and progressbar are now to seperate widgets 2011-09-08 19:36:48 +00:00
Andreas Stöckel
115d677113 Fixed real problem with building new templates failing after nextmatch widget has been used 2011-09-08 19:18:01 +00:00
Ralf Becker
89847abae6 added "progress"(-bar) widget to differ from image and using it in templates 2011-09-08 19:00:57 +00:00
Andreas Stöckel
ea346ce19c Fixed problem with building new templates failing after nextmatch-widget has been used 2011-09-08 18:53:08 +00:00
Andreas Stöckel
37dc6545cc Fixed bug which caused row content to disappear after a while 2011-09-08 18:42:18 +00:00
Andreas Stöckel
87c0db7be1 Fixed correct expanding of names and implemented the dataProvider class 2011-09-08 18:36:09 +00:00
Nathan Gray
e151398d94 Add read-only implementation of date-duration 2011-09-08 17:11:49 +00:00
Ralf Becker
008f009d80 - implemented new egw.link_app_list(_must_support) and egw.link_get_registry(_app, _name) methodes
- using egw.link_app_list('query') in link widget (no need to transfer it additonally)
- added some more docu to egw object
2011-09-08 12:24:53 +00:00
Nathan Gray
d9f321a413 Start of a link-to widget using jQuery-UI's autocomplete 2011-09-07 23:32:24 +00:00
Andreas Stöckel
b1223cb426 Expressions in the dataview-rows are now evaluated correctly 2011-09-07 16:59:23 +00:00
Andreas Stöckel
89304fca0c Fixed problem with whitespace being skipped 2011-09-07 16:35:34 +00:00
Andreas Stöckel
efc173cd2c Fixed problem with escaping and added a few test cases to the PHP->JS compiler 2011-09-07 16:31:32 +00:00
Andreas Stöckel
db074aa39c Added code which compiles PHP string expressions (like {[test]} ) into JavaScript functions. 2011-09-07 16:11:13 +00:00
Nathan Gray
ae1b9c8a64 - Don't let tidy wrap lines - line breaks don't go inside tags
- If tidy reports errors, strip all tags so we should get some sort of openable file
2011-09-07 15:15:08 +00:00
Ralf Becker
b633044a46 * API/Calendar: allow to link to accounts and allow to select accounts as participants by searching them like contacts 2011-09-07 14:47:51 +00:00
Nathan Gray
b2e032245a - Nicer UI for status
- Implement server side callback function when file is uploaded
- Send needed file info back to client instead of storing in session
2011-09-06 19:55:52 +00:00
Nathan Gray
02c414129a Check for name expansion 2011-09-06 19:53:14 +00:00
Nathan Gray
d71b807b8f Use 'utf-8' (instead of utf8) as the encoding, it seems to solve any encoding issues 2011-09-06 18:21:39 +00:00
Nathan Gray
67d7615ecc Fix config for HTML Tidy, fix stripped text in lists 2011-09-06 17:22:48 +00:00
Andreas Stöckel
8d5b990826 Implemented system for fast cloning of rows in the dataview - widgets which want to support this method have to implement et2_IDetachedDOM 2011-09-06 16:50:38 +00:00
Ralf Becker
f8ad548a9a added missing semicolon to entity &#8203 and do an urldecode to get a nicer looking link 2011-09-06 07:41:14 +00:00
Ralf Becker
7984af4c0e specify encoding, as it defaults to latin1 (iso-8859-1) which is not longer used by EGroupware and writes non-ascii as entities 2011-09-06 06:25:17 +00:00
Ralf Becker
0947430796 missing encoding of id 2011-09-06 06:23:12 +00:00
Nathan Gray
9e17bd1faa If HTML Tidy is available, use it to clean HTML content 2011-09-05 20:24:10 +00:00
Nathan Gray
40a89ac81e Preserve text with styles inside lists, discard styles 2011-09-05 20:04:15 +00:00
Nathan Gray
cb5ee32664 Remove spans with no attributes, they're invisible and can cause invalid XML with linebreaks 2011-09-05 16:10:04 +00:00
Andreas Stöckel
d037187234 Added code for creating widget-rows in the dataview 2011-09-05 14:35:28 +00:00
Andreas Stöckel
a13dfef19e Fixed code for auto-reducing the grid rows, removed debug messages 2011-09-05 09:13:58 +00:00
Ralf Becker
504db7e3ae validation for date-widgets, needs more testing 2011-09-04 08:37:39 +00:00
Andreas Stöckel
b99c338511 Fixed IE compatibility 2011-09-02 16:23:26 +00:00
Andreas Stöckel
7457315ea4 Fixed problem with calculated values diverging from actual height values 2011-09-02 16:15:57 +00:00
Nathan Gray
8875c94c24 Async file uploads 2011-09-01 22:07:30 +00:00
Andreas Stöckel
0607a2c9a8 Fixed problem with column widths not being calculated/displayed correctly 2011-09-01 10:02:23 +00:00
Nathan Gray
990e1701f5 Work in progress on file upload 2011-08-31 23:37:30 +00:00
Nathan Gray
e8467d6679 Handling of 12 hour time in read-only timeonly 2011-08-31 20:32:24 +00:00
Nathan Gray
8daa7d0021 Get date+time & time working using HTML5 type=time if available, fallback to 2 selectboxes if not 2011-08-31 19:58:38 +00:00
Nathan Gray
c953c58b17 Remove warning, not needed 2011-08-31 19:48:07 +00:00
Andreas Stöckel
54cf0cbf26 Selectbox widget now doesn't use actual widgets for the transmitted options - for lists like the country selection, this created a huge slowdown while page creation. 2011-08-31 16:58:44 +00:00
Nathan Gray
0dea78ab2e - Pull application name from template ID for image
- Use label as tooltip
- Apply CSS classes to image
2011-08-31 16:00:45 +00:00
Andreas Stöckel
c5c90fbce0 Removed debug messages and made it work with ff 2011-08-31 15:58:24 +00:00
Andreas Stöckel
035a4d369f First version of the dataview which does... well... 'something' at least (currently shows dummy rows with non-etemplate content) Need to cleanup code and test auto hiding of rows (code is actually there) 2011-08-31 15:39:24 +00:00
Ralf Becker
17d066a724 using egw.user(_field) to get account_id and phone-number, plus fixing precedence of "tel:" for iOS/Android 2011-08-31 12:18:38 +00:00
Ralf Becker
499726cb23 using egw.image(), thought there are some problems:
- src attribute get never translated: fixed
- label is in etemplate not the alt attribute, it is a title / tooltip (probably ok as alt too)
- egw.image should be called with appname part of template
- if image is not found, etemplate should render an empty widget, not a broken one
2011-08-31 06:29:51 +00:00
Nathan Gray
114debd00f Include the handler code that caused the error 2011-08-31 00:09:55 +00:00
Nathan Gray
7b7397e92d Fix missing popup button 2011-08-31 00:08:59 +00:00
Nathan Gray
86a356314b Fix missing onclick 2011-08-31 00:03:50 +00:00
Nathan Gray
131a032da6 Fix regexp - no match() function, switched to test() 2011-08-30 21:36:55 +00:00
Nathan Gray
8a632c723a - Add image widget
- Add missing dependency on et2_core_common
2011-08-30 20:56:01 +00:00
Nathan Gray
4fc8cadcb2 Code cleanup - remove debug, late date class handle date-houronly 2011-08-30 20:52:10 +00:00
Nathan Gray
c84a471538 Implement last of the date widgets 2011-08-30 20:50:55 +00:00
Ralf Becker
bc739d8309 adding an empty hidden field, to force some return value, if no account was selected for export_limit_excepted, without any return value nothing gets returned and therefore stored 2011-08-30 08:16:51 +00:00
Nathan Gray
c0abff9612 - Get email widget working with felamimail if user has access, mailto: otherwise
- Get phone widget working using telephony integration if configured, tel: if user's on an Android or iPhone
- Popup calendar on date widget
2011-08-29 21:15:53 +00:00
Andreas Stöckel
97418ebbbb Just commiting current state of my work on the 'dataview' (grid), does NOT do anything usefull right now 2011-08-29 15:04:10 +00:00
Ralf Becker
fa435de6a9 allow to call a function instead of a static helptext 2011-08-27 18:35:40 +00:00
Ralf Becker
8b49d88788 ignore et2 base-class when scanning for widgets to display in (old) editor 2011-08-27 09:08:07 +00:00
Ralf Becker
07f7e61e91 do not call parent constructor for old etemplate 2011-08-27 09:03:32 +00:00
Ralf Becker
389486793d - config is now cached on instance level
- arrays in $GLOBALS[egw_info][server] are now automatically serialized and unserialized
- new static method to check if user is export-limit excepted
--> saves to query it on each request (for non-phpgwapi, which was already cached in the session)
2011-08-26 13:50:20 +00:00
Ralf Becker
7d33eb610a partially reverted r36310 as it has side-effects on the nextmatches widget (in actions and selected rows) 2011-08-26 13:30:05 +00:00
Andreas Stöckel
f370f5f8ab DOM Nodes are now reinserted at their correct place after having been detached (caused bug whenn calling 'showMessage' on an element which is inside a vbox) 2011-08-26 11:15:28 +00:00
Andreas Stöckel
5c4c175ce2 Checked IE compatibility; dataview columns now resizes correctly; removed event code from etemplate2.js, use interfaces instead (as done with the 'resize' event) 2011-08-26 09:58:25 +00:00
Nathan Gray
890efd006b Implement blur/placeholder for textbox 2011-08-25 23:39:34 +00:00
Nathan Gray
105c79883f Hide button when value is cleared 2011-08-25 23:00:44 +00:00
Nathan Gray
7f5d8cec65 Fix typo 2011-08-25 22:50:08 +00:00
Nathan Gray
e551dc3895 URL widget
- Still needs to get telephony link from server, felamimail not tested because egw.link_registry not populated
2011-08-25 22:42:07 +00:00
Nathan Gray
5947d0a481 Fix typo 2011-08-25 22:13:54 +00:00
Nathan Gray
0571ac47e2 Get basic HTML formattings working in word 2003, formattings inside table working in word documents 2011-08-25 20:28:24 +00:00
Ralf Becker
fb62831e86 fixing TypeError stoping etemplate.test.contact_widget from displaying, because attribute "type" is not defined
maybe we dont want setting of undefined attributes, but then it should give a clear error (eg. exception)
--> https://localhost/egroupware/etemplate/inc/class.etemplate_new.inc.php?name=etemplate.test.contact_widget tests contact-widgets
2011-08-25 20:09:45 +00:00
Ralf Becker
502ac42923 - etemplate_widget_transformer abstract baseclass to define new widgets using a transformation out of existing widgets
- defines a syntax to describe how the widget is build out of existing widgets
--> reimplemented contact-widget using that aproach on serverside for old etemplate
--> sending the modifications via etemplate_widget::setElementAttribute() to the client fails, because client does not support changing the widget type
--> need to be implemented on the client
2011-08-25 19:52:51 +00:00
Andreas Stöckel
4114068cb3 Added et2_extension_nextmatch_dynheight.js which cares about resizing a div to the maximum possible height - this is needed because the new grid has to be explicitily sized to a given width and height 2011-08-25 15:54:15 +00:00
Nathan Gray
005b483487 Replace extra XML declaration 2011-08-25 15:46:54 +00:00
Andreas Stöckel
ec5b162bfa Moved et2 core interfaces to own file; implemented Class.free which cares about calling 'destroy', removing all references the object may hold and rendering the object unusable after 'free' has been called; added 'getMem_freeMem_trace' which helps hunting down memory leaks with objects derriving from Class; added first implementation of the nextmatch widget - currently does nothing else but rendering the header and clicking on the nextmatch_sortheader labels 2011-08-25 13:35:53 +00:00
Nathan Gray
e6a34adfe7 Fixes for word 2003 2011-08-24 21:17:14 +00:00
Nathan Gray
bb00c4217d Don't fail if table has properties, support table borders in docx files 2011-08-24 17:29:03 +00:00
Andreas Stöckel
a11abf6412 Selectbox options now set themselves selected 2011-08-24 11:31:30 +00:00
Andreas Stöckel
6e33c99db0 Fixed bad dependency 2011-08-24 10:44:51 +00:00
Andreas Stöckel
53f4064cdc Added some naming scheme to the js files 2011-08-24 10:18:07 +00:00
Andreas Stöckel
7b5e73b600 Added support for attribute descriptor 'translate': '\!no_lang', fixed problem with selectbox options not being read from sel_options, removed attributes from init function as they were either outdated or not used 2011-08-24 10:05:52 +00:00
Ralf Becker
04aa3d35b9 - no longer translating options on server-side
- sending evtl. necessary no_lang attribute via modifications to client
- deprecated template->(get|set|disable)_cell(_attribute) in favor of new etemplate_widget::(get|set|disable)Element(Attribute)
--> options via sel_options are currenlty not working on clientside
2011-08-24 09:24:55 +00:00
Ralf Becker
57767df461 fixed not working label_for --> for attribute 2011-08-24 07:55:20 +00:00
Ralf Becker
33c6766c88 - fixed xul_io class not exporting id of tab
- fixed tab widget to use id instead of label
- added attribute names for describtion (label) in xul_io, to export them as single attributes not comma-sep. as options
- added translate: true to description/label title
--> xet-files need to be dumped new, to get the tab-ids
--> seems like describtion value is translated unconditional, it should only be translated if no_lang attribute is not set or false, while label attribute is always translated (Andreas?)
2011-08-24 07:18:59 +00:00
Nathan Gray
07c61d65f0 Implement selecting tab via content array, hiding tab via readonlys array 2011-08-23 21:33:40 +00:00
Nathan Gray
e256009fd5 Fix merging styles in docx (& maybe xmlWord.Documents) 2011-08-23 19:59:08 +00:00
Nathan Gray
42af1f2db6 Fix line breaks in xmlWord.Documents 2011-08-23 19:56:46 +00:00
Andreas Stöckel
e1eefeaafa Fixed problem with tabs not being translated 2011-08-23 17:10:56 +00:00
Andreas Stöckel
b0a21acb12 Changed name of 'label_for' attribute to 'for', implemented attribute translation 2011-08-23 17:05:05 +00:00
Andreas Stöckel
934e33fdd7 Fix for reading modifications 2011-08-23 15:28:54 +00:00
Andreas Stöckel
f00d5aba60 Parsing the 'modifications' array 2011-08-23 15:27:34 +00:00
Andreas Stöckel
b382dc570f Fixed readonly buttons are rendered 2011-08-23 15:05:13 +00:00
Andreas Stöckel
86414e7daa Moved 'getValues' function to etemplate2 class, added 'et2_surroundingsMgr' class, which is capable of managing DOM-Nodes which are inserted around an widget (see set_label function in et2_input and showMessage function in et2_baseWidget as an example of how to use it), added parsing server side validation errors 2011-08-23 14:59:49 +00:00
Andreas Stöckel
cb27424f5b Added et2_createWidget function and got et2_selectbox_ro working correctly with predefined options and non-string option-entries. 2011-08-23 09:45:45 +00:00
Nathan Gray
d9ab0a9ce8 - Fix empty label
- Add readonly for selectbox
2011-08-23 00:12:01 +00:00
Nathan Gray
1cddecb832 - Fix missing formatting in xml/word documents
- some changes in bullets, maybe avoid error in docx documents
2011-08-22 22:30:14 +00:00
Nathan Gray
e8e5a3066a Simple date/time, still needs to know user format 2011-08-22 18:18:29 +00:00
Ralf Becker
b65c87ec2c added all existing select-* widgets 2011-08-22 16:56:45 +00:00
Andreas Stöckel
c5acfe93bf Added 'overflow' attribute, got infolog.edit loading 2011-08-22 16:37:04 +00:00
Andreas Stöckel
4869ca9a49 Implemented hiding grid columns and rows, fixed bug with et2_template::isInTree returning false in the wrong places and thus not all values being transmitted back to the server 2011-08-22 15:58:47 +00:00
Andreas Stöckel
445c04dce1 Added onclick handler to baseWidget and change handler to inputWidget 2011-08-22 14:38:05 +00:00
Nathan Gray
0264b70a0b Silence warning when export exception is not set 2011-08-22 14:20:44 +00:00
Klaus Leithoff
b76da493de * API: taking care of sorting AND filtering by customfields with names containing whitespace; (best way to deal with this issue, is not using whitespace in your customfield names at all) 2011-08-22 13:08:19 +00:00
Andreas Stöckel
1db6a7aaf5 Added support for the 'class' attribute 2011-08-22 11:16:37 +00:00
Andreas Stöckel
05eb7d0f54 Added 'activateLinks' ability to description tags 2011-08-22 10:50:55 +00:00
Andreas Stöckel
711b1c4886 Labeles are now generated as 'label' tags, basic implementation of the 'for' attribute, sel_options can now contain entries with 'title' and 'label' 2011-08-22 08:58:20 +00:00
Ralf Becker
31ab3d9d75 use html_entity_decode, as we add options with .text(), it can't be entities, but php knows no string literals with utf-8 2011-08-22 07:46:38 +00:00
Ralf Becker
0aa128b53e Loading translations like other javascript files:
setting headers to allow browser to cache the file until it's etag containing the creationdates of the used langfiles changes
--> et2 can now use egw_lang object to translate labels, options, ...
2011-08-21 20:09:14 +00:00
Ralf Becker
7b89481b76 fixed typo giving fatal error with template infolog.edit 2011-08-21 17:13:08 +00:00
Andreas Stöckel
e3bea68512 Added XET file for label test 2011-08-21 15:22:28 +00:00
Andreas Stöckel
8bc726e1b8 Implemented 'label' property for input widgets (nathans code didn't work anymore), renamed 'parseArrayMgrAttrs' to 'transformAttributes' 2011-08-21 15:22:00 +00:00
Ralf Becker
db9434d8e6 added radio validation to etemplate_widget_checkbox, as they are nearly identical 2011-08-21 14:03:52 +00:00