Commit Graph

1980 Commits

Author SHA1 Message Date
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
Ralf Becker
5bc3844be8 fixed typo 2011-08-21 14:02:31 +00:00
Ralf Becker
7c5cb7e04b validator for checkbox, not yet tested because of missing clientside 2011-08-21 13:47:45 +00:00
Ralf Becker
74fabe9994 removed implemented todo 2011-08-21 13:46:21 +00:00
Ralf Becker
32ea28a59c fixed copy-n-paste typo 2011-08-21 13:45:55 +00:00
Andreas Stöckel
09bc77426c Selectbox now allows 'option'-widgets inside of it, added hrule widget, added support for 'buttononly' 2011-08-21 13:24:20 +00:00
Andreas Stöckel
4ad303529c Added forgotten tab header 2011-08-21 13:15:25 +00:00
Ralf Becker
76d5a57b8c added validator for htmlarea, not yet tested, as it is not yet implemented on clientside 2011-08-21 13:01:10 +00:00
Ralf Becker
ec58f52b62 implemented disabled columns 2011-08-21 12:43:02 +00:00
Andreas Stöckel
0fdf434321 Got JS handlers working again 2011-08-21 12:23:56 +00:00
Ralf Becker
c4293ba3bc honor disabled attribute in validation for widgets including grid rows, but not yet grid columns 2011-08-21 11:55:56 +00:00
Ralf Becker
7916e86880 method to translate options incl. optionial title 2011-08-21 11:38:01 +00:00
Ralf Becker
e0624ebe89 removed set_(row|column)_attributes and disable_(row|column) method, which modifies template on run-time, it was only used internally by etemplate 2011-08-21 09:14:58 +00:00
Andreas Stöckel
aa07a39a2e Don't allow children for the menupopup 2011-08-21 08:59:12 +00:00
Andreas Stöckel
127e629eef Adapted selectbox widget code to new etemplate2 js core scheme 2011-08-21 08:48:53 +00:00
Andreas Stöckel
7c7a8230cf Added basic approach to have selectbox widget running again (probably not fully working yet) 2011-08-20 18:34:14 +00:00
Ralf Becker
e92087df31 - new validator for selectboxes (menupopup)
- also used currently to supply options for predefined selectboxes (eg. select-cat), need to discuss if we want to fetch these per ajax
- new widget method run, which runs a given method on all widgets (and children) supporting it, eg. used now for validate
2011-08-20 10:27:38 +00:00
Andreas Stöckel
fcff01e3cc Fixed textbox cols/rows always being set to 1 2011-08-19 16:39:28 +00:00
Andreas Stöckel
5af5594f60 Major update of the et2_widget internal structure. The following changes were made:
- All attributes of the widgets are now parsed from XML before the widget itself is created.
These attributes plus all default values are then added to an associative array. The associative array is passed as second parameter to the init function of et2_widget, but is also available as this.options *after* the constructor of the et2_widget baseclass has been called.
The et2_widget constructor also calls a function parseArrayMgrAttrs(_attrs) - in this function widget implementations can read the values from e.g. the content and validation_errors array and merge it into the given _attrs associative array.
After the complete internal widgettree is completely loaded and created the "loadingFinished" function gets called and invokes all given setter functions. After that it "glues" the DOM tree together. This should also (I didn't measure it) be a bit faster than before, when the DOM-Tree was created on the fly. 

Please have a look at the changes of the et2_textbox widget to see how this affects writing widgets.

Note: The "id" property is copied to the object scope on the top of the et2_widget constructor.

- When widgets are cloned the "options" array gets passed along to the newly created widget. This means that changes made on the widgets during runtime are not automatically copied to the clone - as this didn't happen anyhow it is not a really disadvantage.
On the other side there should be no difference between widgets directly inside the "overlay" xet tag and widgets which are inside instanciated templates.

- The selbox widget doesn't work anymore - it relied on the loadAttributes function which isn't available anymore. et2_selbox should use the parseArrayMgrAttrs function to access

- I've commented out some of the "validator"-code in etemplate2.js as it created some error messages when destroying the widget tree.
2011-08-19 16:00:44 +00:00
Ralf Becker
30ed6a8ab7 - added legacy-options parsing and defintions for currently implemented widgets
- added more server-side debuging:
* etemplate_widget_template class can be called via url and displays parsed xml, eg:
  http://localhost/egroupware/etemplate/inc/class.etemplate_widget_template.inc.php?name=infolog.edit
  This is different from directly calling the xet file, as it show what got parsed and how:
  http://localhost/egroupware/infolog/templates/default/edit.xet
* etemplate_new class can be called via url to render an arbitrary template, eg:
  http://localhost/egroupware/etemplate/inc/class.etemplate_new.inc.php?name=timesheet.edit
  Thought not all are already rendered correct, eg. infolog.edit is not:
  http://localhost/egroupware/etemplate/inc/class.etemplate_new.inc.php?name=infolog.edit
2011-08-19 08:22:19 +00:00
Ralf Becker
107b12abcd - template references can contain attributes, in this case we have to clone the template and set them
- optional template namespace is in "content" attribute
- ability to unset validation messages
2011-08-19 06:30:06 +00:00
Ralf Becker
b57b633944 ability to unset validation messages 2011-08-19 06:21:46 +00:00
Ralf Becker
a488b67f99 serverside validation for textbox and button 2011-08-18 21:56:37 +00:00
Ralf Becker
d095250d85 read and parse widgets on serverside 2011-08-18 18:08:40 +00:00
Nathan Gray
5e54d6b12b Add basic radio, readonly version of checkbox/radio 2011-08-18 17:34:01 +00:00
Nathan Gray
3c5f14e960 Try to keep whitespace when splitting up styles 2011-08-18 16:42:43 +00:00
Nathan Gray
341403d0ca Attempt to fix broken bullets, doubled numbers 2011-08-18 16:09:15 +00:00
Ralf Becker
d6509ad506 fixed grid in cf widget displays border, if options are set 2011-08-18 09:22:59 +00:00
Ralf Becker
b892149294 fixed grid in cf widget displays border, if options are set 2011-08-18 09:21:03 +00:00
Nathan Gray
fb43e96aeb Use getInputNode() instead of inconsistant variable for default label implementation 2011-08-17 23:26:01 +00:00
Nathan Gray
9f3551cc7a PHP test page, works inside eGW + validation test 2011-08-17 23:06:25 +00:00
Nathan Gray
e76cf6eab2 - Add labels to input widgets
- Add row & col properties to textarea
2011-08-17 22:56:49 +00:00
Nathan Gray
03d549bab9 Add validation (basic client & server side) 2011-08-17 21:36:08 +00:00
Nathan Gray
c409e8d73e Fix typo breaking selectbox options 2011-08-17 21:32:38 +00:00
Nathan Gray
ba5fee777c Basic widgets xml file 2011-08-17 19:46:19 +00:00
Nathan Gray
379b05b39f Get empty label / row count legacy option working 2011-08-17 17:50:15 +00:00
Nathan Gray
abf37487b8 Fix typo 2011-08-17 17:48:39 +00:00
Ralf Becker
d20c38b3d0 added richtext customfield 2011-08-17 16:34:09 +00:00
Nathan Gray
8f5f334762 Only process HTML inside Word xml documents 2011-08-17 15:47:05 +00:00
Nathan Gray
16bafa78b8 Implement export restriction exception for given users/groups in apps 2011-08-17 15:38:56 +00:00
Nathan Gray
2a815be3d3 Process xml as if it were a MSOffice document 2011-08-17 14:47:17 +00:00
Ralf Becker
7cbff78854 config for export limit excepted users/groups, need backend work from nathan 2011-08-17 09:36:51 +00:00
Andreas Stöckel
2234cc3413 Added very simple but working implementation of the tabs widget 2011-08-17 09:07:09 +00:00
Nathan Gray
ea8d70136e Implement labelplaceholder for OO.o files 2011-08-16 23:07:44 +00:00
Nathan Gray
e792130479 Stop errors from missing _data and missing array managers 2011-08-16 21:18:26 +00:00
Nathan Gray
e981e7911f Get option value from content, add empty label 2011-08-16 21:18:06 +00:00
Ralf Becker
146c8fbc80 disable initial namespace/cname, as we probably wont use it and it gives a fatal error currently 2011-08-16 20:43:18 +00:00
Ralf Becker
fae753a551 added hiearchical names in widget id's like 'button[save]' 2011-08-16 20:32:18 +00:00
Nathan Gray
f0db6211b9 Put options in selectbox 2011-08-16 20:32:13 +00:00
Ralf Becker
510ce7c159 - using etemplate_request object and a etemplate_exec_id
- "processing" the submit on serverside (no validation yet)
--> content returned by ajax call is not an hiearchical array: eg. "button[save]" => 1, instead of "button" => array("save" => 1)
- new call to etemplate_new::exec() is send back via new JSON generic et2_load response
--> how do we handle output of callback: a) debug output, eg. echos and b) echo "<html><head><script>window.close();</script></head></html>"; exit;
2011-08-16 19:40:48 +00:00
Nathan Gray
11ccd9c057 Check that value is a string before treating it as one 2011-08-16 19:01:45 +00:00
Nathan Gray
df2869c07f Add simple checkbox, missing ID property 2011-08-16 18:42:17 +00:00
Andreas Stöckel
63d0baf497 Added event listener system to etemplate2 2011-08-16 18:18:18 +00:00
Nathan Gray
03b4704685 Add basic implementation of numeric (int & float) and selectbox widgets 2011-08-16 17:02:09 +00:00
Andreas Stöckel
fb8ef99c0b Added align property and working hbox/vbox implementation 2011-08-16 16:46:22 +00:00
Nathan Gray
a6ebfff827 Fix infinite loop 2011-08-16 16:44:21 +00:00
Andreas Stöckel
fef5ad8ebd Improved invalde type handling 2011-08-16 13:45:41 +00:00
Andreas Stöckel
786ec9220c Added widget for html-XET tag and added forgotten et2_styles.js 2011-08-16 13:12:39 +00:00
Andreas Stöckel
40a11bdb4f Added widget for 'styles' XET tag 2011-08-16 12:56:55 +00:00
Andreas Stöckel
41787c36f3 - Reading readonly properties
- Added system for readonlys: Readonly is passed in constructor as third parameter. If a widget class is registerd with "[type]_ro" (see et2_textbox for example) this one is created
- Added new 'valueWidget' base class which introduces the 'value' attribute and implements auto loading from the content array
- Implemented readonly attribute for buttons and textboxes
2011-08-16 12:31:18 +00:00
Nathan Gray
4fe9d951a8 Fix typo 2011-08-15 18:54:13 +00:00
Andreas Stöckel
3bdca867e7 et2_debug is now capable of taking any count of arguments as the console.* functions do, improved 'Attribute does not exist' message, fixed memory leak in grid (inherited destructor was not called) 2011-08-15 16:03:53 +00:00
Andreas Stöckel
8207a325aa Moved loading of data-array attributes to the new 'loadingFinished' function 2011-08-15 14:52:45 +00:00
Andreas Stöckel
7800cfc5d4 Implemented et2_IInput interface for et2_button in order to transfer the id of the clicked button back to the server, implemented etemplate2.submit function, implemented egw_json et2_load response type to load a new template with new data. 2011-08-15 14:29:58 +00:00
Andreas Stöckel
fd21e247a1 etemplate2 object now creates not passed entries in the data array 2011-08-15 12:46:27 +00:00
Andreas Stöckel
8c9fd0f636 Implemented usage of mutliple array-manager objects (the object which cares about proper namespacing etc.) for each supplied data manager part (like 'content', 'readonlys' etc.), renamed et2_contentArrayMgr.js to et2_arrayMgr.js, renamed et2_all.js to etemplate2.js and added an top-level object which cares about loading the template, creating the array managers etc. 2011-08-15 12:34:00 +00:00
Andreas Stöckel
be34748b32 Added et2_all.js 2011-08-15 11:13:22 +00:00
Andreas Stöckel
f9914e069c Fixed problem with getValues iterating over widgets which are in proxied templates 2011-08-15 10:04:37 +00:00
Andreas Stöckel
29c16431ad Added new attribute type 'js', which cares about converting given JS code to a function 2011-08-15 09:24:32 +00:00
Andreas Stöckel
bb4aab7854 Fixed two dependencies 2011-08-15 08:42:07 +00:00
Andreas Stöckel
a28295db58 Added et2_all.js which contains references to all widgets and can be included by egw to load the complete etemplate2 js module, fixed problem in 'et2_DOMWidget::set_disabled', interpreting 'type' attribute like the node name when creating the wigdets from XML 2011-08-15 08:34:21 +00:00
Ralf Becker
0a410a1e05 seems all widget have to be explicitly loaded, to be used ... 2011-08-13 17:34:59 +00:00
Ralf Becker
9657dd6c1c fixed not working dependency 2011-08-13 17:34:22 +00:00
Ralf Becker
358fbf6d9e first try to call new etemplate2 stuff from server-side, just replace etemplate with etemplate_new, eg. in timesheet_ui::edit() 2011-08-13 16:51:35 +00:00
Andreas Stöckel
0c71ee3931 Added correct handling of namespaces for the getValues function 2011-08-12 17:02:21 +00:00
Andreas Stöckel
2fc29718f1 Added correct handling of namespaces 2011-08-12 16:29:24 +00:00
Andreas Stöckel
8a420df721 Moved basic functions of 'Class' from the 'add*Functions' functions to Class.prototype 2011-08-12 15:35:27 +00:00
Andreas Stöckel
89230b86cf Added functions to expand names and a basic implementation for 'disabled' 2011-08-12 15:26:08 +00:00
Andreas Stöckel
b9bb6280e3 Added getValues() function to the base widget which creates an associative 'array' with all form values. 2011-08-12 12:15:44 +00:00
Andreas Stöckel
74498fd320 fixed path in tex file 2011-08-11 13:54:46 +00:00
Andreas Stöckel
0fc000c955 Added some documentation for the JS inheritance system and the base widget classes 2011-08-11 13:54:20 +00:00
Andreas Stöckel
7a6b105dc3 Moved et2_DOMWidget to its own file, added getInputNode function to et2_inputWidget 2011-08-11 13:53:35 +00:00
Nathan Gray
0b6954fb44 Handle lists inside tables in odt 2011-08-10 21:44:25 +00:00
Andreas Stöckel
9ea38d694b Added very basic implementation for reading the content array 2011-08-10 17:44:22 +00:00
Andreas Stöckel
4f2eeaafe1 Fixed problem with id not being copied when cloning an template rewrote a part of the attribute merging system - now not only references of the attribute descriptors are copied between the instances. 2011-08-10 16:23:02 +00:00
Andreas Stöckel
67b05dc93c Accidently derrived et2_textbox from et2_baseWidget 2011-08-10 15:15:51 +00:00
Andreas Stöckel
510c482eef Fixed some dependencies 2011-08-10 14:39:35 +00:00
Andreas Stöckel
68c7a5550e - Styled button a little bit
- Added test for textbox
- Added baseWidget and inputWidget classes
- Implemented attribute system
- Implemented statustext as a test for the attribute system
- Ported csv_split function to JS
- Implemented system for the legacy options
- Added function for iterating over the widget tree
2011-08-10 14:36:31 +00:00
Nathan Gray
9cd080e2ef Fix hex color values for background color 2011-08-09 20:58:41 +00:00
Nathan Gray
ff89732b24 As lists & tables aren't supported in OO calc, fake it 2011-08-09 20:41:16 +00:00
Nathan Gray
1c2486e058 Fix handling of colors in hex format 2011-08-09 19:39:24 +00:00
Nathan Gray
843a378b65 Fix clearing of nm_popup_action resulting in a submit for the second time a popup was shown 2011-08-08 17:35:01 +00:00
Andreas Stöckel
db990deffd Improved grid, now correctly renders the timesheet.edit template, grid cells are now automatically expanded, grid objects can now be cloned and used in templates, added dummy implementation for button and textbox, added JS 'use strict' to be notified about JS programming mistakes in FF 4+. 2011-08-07 13:43:46 +00:00
Andreas Stöckel
b4530a6d3e Implemented first version of the grid component (not complete) 2011-08-06 14:36:44 +00:00
Andreas Stöckel
8b2dae28f7 - Checked browser compatibility, tested with IE8, Chrome, Opera, FF3.6
- Added indexOf function for IE compatiblity - this and some other code is redundant to that in egw_action_common.js - Probably this code should be merged into jsapi and jsapi.js should be cleaned up and splitted into multiple files
- Implemented template widget
- Implemented dummy implementation of description widget
- Improved et2_placeholder - it now shows all properties set for that placeholder
- Improved and extended test page
- Improved interface system in et2_inheritance.js - each object derrived from Class now has a instanceOf function which checks, whether the object is either an instance of the given class or implements the given interface (same behaviour as instanceOf in Java)
- Widgets can now define which other widget classes are allowed inside of them
2011-08-05 14:53:54 +00:00
Andreas Stöckel
c30e1d3e50 First version of the new etemplate2 js widget framework 2011-08-04 19:08:50 +00:00
Ralf Becker
3819816248 * Calendar: fixed various issues with history in calendar: id display, unecessary stuff loged, ... 2011-08-04 14:00:15 +00:00
Ralf Becker
c1718a29ad for readonly version we only need to fetch given timezone, automatic conversion from id 2011-08-04 11:04:19 +00:00
Ralf Becker
31c9e8965b fixed creating of new translations / give [Write] button file not yet existing (permissions given) 2011-08-04 07:27:23 +00:00
Nathan Gray
b7d30863bf Fix UL / bullet conversion when merging into OpenOffice document 2011-08-02 18:42:33 +00:00
Nathan Gray
e6355334f4 Move applying HTML styles into its own function 2011-08-02 18:41:18 +00:00
Ralf Becker
38c3e52dde default step="any" for float, as not setting it limits value to integer as step defaults to 1 in html5! 2011-07-30 08:31:08 +00:00
Nathan Gray
c2c1b4af95 Fix mismatched tag in MS linefeed 2011-07-29 15:34:12 +00:00
Klaus Leithoff
88c088eb86 fix warning ->missing argument 1 for select_widget<- : make the parameter optional by assigning a default value 2011-07-26 07:43:53 +00:00
Nathan Gray
a2be785731 Bring some HTML styles into merged documents (ODT & docx) 2011-07-19 23:32:01 +00:00
Klaus Leithoff
bed0c7a265 notification/tracker: in special cases, the owner of an entry was notified twice; now control who is notified in the first (admin) notification run, and pass the already notified email-addresses to the general run 2011-07-13 07:30:28 +00:00
Ralf Becker
43c4113d83 using grid styleing also for nextmatch widgets without nextmatch header 2011-07-12 09:53:39 +00:00
Nathan Gray
48139cfafc Make 'Creator' and 'Modifier' more widely available by putting them into preferences 2011-07-07 20:08:12 +00:00
Ralf Becker
2b0278fbbd switch html5 form validation off for cancel buttons and in etemplate editor (or whenever any $ignore_validation expression is given) 2011-07-07 12:54:11 +00:00
Ralf Becker
4f60da9af5 differenciate in our serverside user-agent detection between Chrome and Safari, and disable html5 form validation for float, as Chrome 12 rejects float values with comma as decimal separator 2011-07-07 11:50:06 +00:00
Nathan Gray
624839d0db Translations for placeholder labels 2011-07-05 22:21:49 +00:00
Nathan Gray
aab8157907 Translation for placeholder labels 2011-07-05 21:44:21 +00:00
Nathan Gray
324cb05599 Use different app if running hooked also 2011-07-05 15:56:30 +00:00
Nathan Gray
4e54cdabc0 Pass non-popup links through framework's link handler 2011-07-05 14:45:25 +00:00
Nathan Gray
18d13804e6 Try to clean up German too 2011-07-04 18:53:32 +00:00
Nathan Gray
eec3bd3d5b Clean up translations - move common merge stuff into preferences 2011-07-04 18:12:12 +00:00
Nathan Gray
42dd9e9a02 Don't pass popups through link handler 2011-07-04 17:04:08 +00:00
Ralf Becker
03e379e570 * jQuery: changed $ to $j to work around mootools use in Joomla templates and other js code in imported projects
required to change $ --> $j:
phpgwapi/*
jdots/*
etemplate/*
stylite/*
felamimail/*
admin/*
news_admin/*
projectmanager/*
importexport/*
infolog/*
ranking/*

required, but not automatic:
importexport/setup/etemplates.inc.php
phpgwapi/js/jquery/*

negative, not to touch or revert later:
phpgwapi/inc/savant2/Savant2/Savant2_Compiler_basic.php:		'(\$(.+))'            => 'print $1',
phpgwapi/js/dhtmlxtree/libCompiler/core.js
sitemgr/*
phpfreechat/*
gallery/*
activesync/include/smb.php:        '^\tIPC\\\$(.*)[ ]+IPC' => 'skip',
etemplate/inc/class.bo_merge.inc.php: if ($this->table_plugins && preg_match_all('/\\$\\$table\\/([A-Za-z0-9_]+)\\$\\$(.*?)\\$\\$endtable\\$\\$/s',$content,$matches,PREG_SET_ORDER))

find phpgwapi jdots etemplate stylite felamimail admin news_admin projectmanager importexport infolog ranking \
	\( -name '*.php' -o -name '*.js' \) -exec grep -q '\$(' {} \; -print \
	-exec sed -i '' 's|\$(|$j(|g' {} \;
svn revert phpgwapi/inc/savant2/Savant2/Savant2_Compiler_basic.php phpgwapi/js/dhtmlxtree/libCompiler/core.js \
	importexport/setup/etemplates.inc.php phpgwapi/js/jquery/jquery.js etemplate/inc/class.bo_merge.inc.php
	
additional changes:
phpgwapi/js/jquery/jquery.js:	window.$ --> window.$j
phpgwapi/js/egw_json.js:291	this.request = $j.ajax({url: this.url,
jdots/templates/jdots/head.tpl:59			$j(document).ready(function() {
phpgwapi/js/egw_action/egw_grid_view.js: $.browser --> $j.browser
importexport/setup/etemplates.inc.php: etemplate editor importexport.wizard_basic_export_csv.choose_fields onclick of check icon changed
phpgwapi/js/egw_action/tests/*.html
phpgwapi/js/egw_action/tests/js/jquery.js:	window.$ --> window.$j
2011-07-03 09:00:36 +00:00
Ralf Becker
a89430ae8e fixed multiline fields in notification message were all in one line 2011-07-02 09:36:21 +00:00
Ralf Becker
9f94f1f8e3 support for html5 multiple upload 2011-07-01 07:48:06 +00:00
Ralf Becker
548ae17b66 fixed error in link-entry: " has an invalid format !!!, after adding html5 type attr to text/input widget 2011-06-30 17:57:55 +00:00
Ralf Becker
d654437a54 - allow confirmation only for multiple selected
- confirm, confirm_multiple and allowOnMultiple get now inherited by children (@Andreas: allowOnMultiple does NOT work on children for some reason)
- add confirmation for more then one receipient in mail merge
- translations for etemplate part
2011-06-30 17:35:52 +00:00
Ralf Becker
95bbacf358 mime icon for eml - message/rfc822 2011-06-30 16:36:14 +00:00
Klaus Leithoff
b30fcc52f3 allow merge_print for emails on all applications (only one entry at a time, exept addressbook); addressbook merge_print with an email of one contact, the mail is stored with the draft folder and then opens the compose dialog, if used on multiple contacts, we try to send them right away. Better control of SigOnTop Handling. 2011-06-30 15:28:29 +00:00
Ralf Becker
3f6fcf60d2 support for some html5 form features, if browser supports it 2011-06-30 15:19:08 +00:00
Ralf Becker
be57f2a37b new standard action to active the first link in a row, fixed numeric id's det Del shortcut 2011-06-30 12:43:04 +00:00
Klaus Leithoff
51c6e79475 allow email - merge print only for addressbook (by now); handle mergeprint for accounts stored with ldap as well 2011-06-30 11:21:48 +00:00
Ralf Becker
8e8aba371e reverted r35561, as it breaks popups in other apps 2011-06-30 10:06:31 +00:00
Klaus Leithoff
aa706d8cb8 * eMail: feature to use merge_print on emails for sending previously prepared (and stored) emails to contacts. The email address is used as To address. If no email address is specified, email_home is used. Addressbook replacements are performed on text/html body and subject; BugFix regarding problems with styledefinitions containing umlauts 2011-06-30 09:47:29 +00:00
Nathan Gray
4550cb3171 Fix links so they open in correct app window with jdots 2011-06-29 16:39:23 +00:00
Ralf Becker
05a3ccb320 dont load cfs for template from stylite app 2011-06-28 20:47:35 +00:00
Ralf Becker
9cb94fc0cf fixed warning: missing argument 3 2011-06-28 13:47:16 +00:00
Nathan Gray
426dff7f9c If value is something that evaluates to false, display nothing ('') 2011-06-27 22:14:44 +00:00
Andreas Stöckel
823a6014ef Fixed error message 'dhtmlxmenu_ext.js required' 2011-06-25 15:45:10 +00:00
Andreas Stöckel
8f354a3fbf Using egw_keymanager::DELETE instead of EGW_KEY_DELETE 2011-06-25 14:28:14 +00:00
Ralf Becker
fe781cdc9f - add $receiver parameter to most callbacks, to be able to customize returned content on receiver (eg. different for users and email CC's)
- changed html body into a two-column table for nicer formatting
2011-06-23 18:45:44 +00:00
Oscar Manuel Gómez Senovilla
164871ec02 Update Czech translation for trunk. Tracker #2886 2011-06-23 13:53:19 +00:00
Nathan Gray
0ecbc8b54d Allow functions deep in the stack (table callbacks) to throw exceptions in error conditions 2011-06-21 21:14:16 +00:00
Ralf Becker
84713fbab3 give all delete actions DEL key as shortcut 2011-06-21 08:27:54 +00:00
Andreas Stöckel
0991eed64a Added shortcut as valid action property 2011-06-19 10:53:52 +00:00
Ralf Becker
65a8e4e8d3 fixed some printing stuff in calendar, printing in listview is disabled, because it is NOT working atm. 2011-06-17 15:16:40 +00:00
Ralf Becker
6cf426d465 added a mime-type filter 2011-06-17 14:07:51 +00:00
Ralf Becker
d13b605db8 uncomment testwise commented allowens for admins to export more then the export limit 2011-06-17 13:35:00 +00:00
Ralf Becker
81b78a8e65 fixed not working standard document with absolute path 2011-06-17 13:08:10 +00:00
Andreas Stöckel
f3ccd96f03 Grid and nextmatch aoi now reset the input element focus once a row is clicked 2011-06-16 20:43:33 +00:00
Nathan Gray
0514391fde Show time values in user time 2011-06-16 15:14:14 +00:00
Ralf Becker
8e7c73dd84 some fixes for English and Suomi translation, from our Suomi resident here as Stylite 2011-06-16 13:01:29 +00:00
Ralf Becker
b367a7929e translation of now export limit messages for merge-print 2011-06-16 12:26:32 +00:00
Ralf Becker
92ddeca1fb - fail with error message, if user trys to export more entries then allowed (previously entries were silently cut down to allowed number, even 0!)
- fixed path of document-actions if more then one directory with subdirectories were given
2011-06-16 11:36:15 +00:00
Andreas Stöckel
509ff8aa53 Flagging next-match widget container as default-focus object 2011-06-15 20:50:24 +00:00
Ralf Becker
0238118906 new preference about how to select additional lines in lists 2011-06-15 15:50:16 +00:00
Andreas Stöckel
7f9db3701b Commited code for nextmatchRowAOI to support the new EGW_SELECTMODE_TOGGLE 2011-06-15 15:49:05 +00:00
Ralf Becker
1774e5674f support for multiple space or comma separated download dirs 2011-06-14 10:48:15 +00:00
Ralf Becker
e50565ccb4 allow multiple space or comma separated template directories 2011-06-14 08:54:42 +00:00
Andreas Stöckel
8cfae5bd16 Including JS-file for keyboard navigation 2011-06-12 16:43:43 +00:00
Ralf Becker
fcfbd038bc some fixes for the English translation, from our Suomi resident here as Stylite 2011-06-10 06:19:36 +00:00
Nathan Gray
e59b50e7fb If etemplate_exec_id is lost, pass along any GET parameters with redirect 2011-06-09 16:47:40 +00:00
Nathan Gray
ec56327c20 If action specifies target for location, use it 2011-06-06 20:22:49 +00:00
Ralf Becker
476a0c0a6d remove leading whitespace from caption used as confirmation message 2011-06-03 18:45:40 +00:00
Andreas Stöckel
bb8a28b6d7 Fixed typo in select handler assignment 2011-06-03 11:26:12 +00:00
Andreas Stöckel
6c1e8e0d06 Made selection on mobile devices work with touchend and not click (not final) 2011-06-02 22:50:35 +00:00
Ralf Becker
3bbc6a6962 - egw_open nm_action using new clientside link registry
- enabling/disabling actions based on row-id matching a regular expression
- children/submenus inherit 'url','popup','nm_action','onExecute','type','egw_open' attributes
2011-06-02 20:03:34 +00:00
Andreas Stöckel
4cb37be5d3 Implemented usage of global action manager and object manager for nextmatch widget 2011-06-02 14:49:56 +00:00
Nathan Gray
30bef48900 Fix hierarchical category action 2011-06-01 16:23:04 +00:00
Ralf Becker
c9fbcc329e if no confirm_msg given, use caption instead for select_all confirmation 2011-06-01 11:30:08 +00:00
Ralf Becker
4d2cf32f9a missed dragType in egw_action_supported attributes 2011-05-31 20:42:34 +00:00
Ralf Becker
5eca546898 some enhancements for the felamimail context menu 2011-05-31 19:49:19 +00:00
Ralf Becker
b64a0de528 allow to specify "none" in popup size for no popup AND no link target, to allow dial scripts to use status "204 No Content" 2011-05-30 14:59:40 +00:00
Ralf Becker
a147a9a4a8 fixed not working category color of rows (calendar, addressbook) 2011-05-30 11:08:37 +00:00
Ralf Becker
2e95210154 load new row selection / egw_actions system for all nextmatch lists, not only ones defining actions / context menus 2011-05-27 10:28:30 +00:00
Ralf Becker
678efd6ced switch to tab with customfield widget (empty name for call cfs), if validation error is for a cf (name prefixed with #), if no tab found add validation message to $content[msg] as a last resort to make it more visible to the user 2011-05-18 14:23:23 +00:00
Ralf Becker
1053267a96 fixed an "htmlspecialchars 1. param should be string, array given" error 2011-05-18 14:21:02 +00:00
Ralf Becker
3b90f44c89 got select entry custom fields honor required flag and select entry widget show required input with inputRequired css class 2011-05-18 10:23:39 +00:00
Nathan Gray
c93de715bc Clear action in case there's another one, prevents doubling 2011-05-17 19:13:55 +00:00
Klaus Leithoff
3ee6fba705 fix error on saving addressbook items with new link-widget customfields; error_log stuff (disabled) 2011-05-17 11:50:06 +00:00
Klaus Leithoff
64c798cda4 show raw selectvalue, if we are not able to show the corresponding selection entry 2011-05-17 11:46:56 +00:00
Klaus Leithoff
dcb5a86aca fix for bug #1631 on Stylite tracker: no browsing/navigation in egws popup filenavigation used for image browsing for CK-Editor. 2011-05-16 07:46:27 +00:00
Klaus Leithoff
46bd49e810 handle arrays as value, that are passed down for customfield links 2011-05-12 14:44:09 +00:00
Klaus Leithoff
064490bfef fix typo that prevented the referencing of sub elements in get_array in some cases 2011-05-12 12:03:55 +00:00
Klaus Leithoff
11411abef5 fix for 'cf_link_fields do not create link on inital save' in calendar: reason no id passed when called tracking for new events 2011-05-11 15:09:16 +00:00
Ralf Becker
fe6a0e906c automatic create and update links for custom fields linking to applicaton entries 2011-05-07 15:32:51 +00:00
Ralf Becker
0ced6fcf51 - storing etemplate form name and variable prefix into egw_actionManager to be able to work on a 2. eTemplate on a page (InfoLog in Addressbook view)
- moving (open|hide|submit)_popup used in InfoLog and Tracker to etemplate, so code can be shared
  --> change 'onExecute' => 'javaScript:open_popup' to 'nm_action' => 'open_popup' and onclick="(hide|submit)_popup()" to onclick="nm_(hide|submit)_popup()"
2011-05-07 08:47:58 +00:00
Ralf Becker
366aa7c05a - allow to specify to use selectbox, instead of category selection for category
- allow to specify name of action (infolog already uses 'action')
2011-05-06 18:10:50 +00:00
Ralf Becker
b52b7acf8a values are NOT yet used on client side, but give warnings if array are not converted to strings 2011-05-05 07:31:04 +00:00
Ralf Becker
e1783ea0f7 values are NOT yet used on client side, but give warnings if array are not converted to strings 2011-05-05 07:30:30 +00:00
Ralf Becker
beb6f20790 sort attributes, to stop xet files from changing because of changed attribute order 2011-05-05 06:51:40 +00:00
Ralf Becker
1e8de99ed7 Move initialisation for egw_actions stuff into static method of nextmatch_widget, it get called now from:
- etemplate::show_grid() 
- addressbook_ui::view() to load JS stuff before header get generated
2011-05-02 13:34:59 +00:00
Ralf Becker
dfd160f11b - automatic switch to hierarchical display, if more then $max_cats_flat=14 cats found
- add category icons
2011-05-01 09:11:45 +00:00
Ralf Becker
ce4543785c setting default to 14 2011-04-30 08:21:19 +00:00
Ralf Becker
4f65e182e1 automatic pagination of long context submenus, eg. categories 2011-04-30 08:17:14 +00:00
Ralf Becker
60edb83929 enable via a class and no more need to set enabled='javascript:nm...' for enableClass or disableClass 2011-04-27 16:54:35 +00:00
Ralf Becker
fb5ea143be - returning checked state of all checkboxes, not only select_all, in $content[nm][checkboxes]
- $content[nm][select_all] is now only reference to $content[nm][checkboxes][select_all]
- checkboxes need no default onExecute, therefore removed nm_select_all method
- improved documentation for action stuff in nextmatch widget
- added egwAction.getActionsByAttr(_attr, _val) method returning all actions with a given attribute and value
2011-04-27 07:49:46 +00:00
Ralf Becker
dc88e0c190 - automatic creation of action_links (enabled actions and ones which need to be checked if enabled) by using all first level actions plus the ones with enabled set to 'javaScript:...'
- a bit of docu about the actions system usable through nextmatch widget
--> addressbook disables now "remove from distirbution list" and "delete selected distribution list", if no distribution list is selected
2011-04-26 19:50:03 +00:00
Ralf Becker
98a2731116 - fixed not working add or remove category method from context menu
- disabling actions not available, because of missing rights
- trying to disable "remove from distribution list" and "delete distribution list", when no list is selected
  --> not yet working
2011-04-25 14:13:40 +00:00
Ralf Becker
2ccc4465e5 for select-all, show regular confirmation message plus select-all hint 2011-04-25 12:15:05 +00:00
Ralf Becker
e474b0f0d4 - insert in document action:
+ one submenu with default document (if set) on top
  + if more then 9 documents, show them in submenus by mime type
- added copy address as second point to add submenu, beside new
- icons for move to addressbook
- fixed icons for org views
--> addressbook context menu should now be fully functional - let me know if not ;-)
2011-04-25 11:30:37 +00:00
Ralf Becker
40c4477b23 finetuning history log display for custom fields 2011-04-19 18:50:23 +00:00
Ralf Becker
7705b25ece history log widget "knows" now about custom fields and bo_tracking optionally initialises them too 2011-04-19 15:00:49 +00:00