Commit Graph

203 Commits

Author SHA1 Message Date
d9275d53d0 Avoid sending back empty sub-arrays - apps that check for their presence, not contents, have trouble with them 2012-03-30 19:42:01 +00:00
d52ab179a7 classname in callback need to be renamed too 2012-03-28 16:30:17 +00:00
e330a7bfdc Start of vfs widget 2012-03-26 19:46:51 +00:00
1dc6376ed4 Handle inputs with names ending in [] as arrays 2012-03-23 18:17:15 +00:00
56070c43c5 Add start of ajax select widget, get submits working again 2012-03-22 23:31:31 +00:00
11fe571e65 Instanciate the instance for the app based on template name when loading 2012-03-20 21:42:25 +00:00
ccaa65b0e4 Implement groupbox/caption with fieldset/legend 2012-03-19 21:06:02 +00:00
0aa4c66803 Don't proxy template, just don't load it until asked for 2012-03-14 21:27:23 +00:00
e5b4bcfe7f Add selectAccount_ro to handle ajax user names 2012-03-14 19:02:28 +00:00
dc017ed889 Now again using a local etemplate2 instance on the client 2012-03-12 12:05:14 +00:00
e1f8411253 Add tree to list 2012-03-08 16:55:12 +00:00
c0db2e36a9 Fixed a lot of problems regarding centralized JavaScript code; et2_dataview_view_resizeable is current WIP; now building etemplate2 DOM-Tree to a DocumentFragment first, which brings a significant performance gain 2012-03-07 15:33:21 +00:00
e4ed4399cf Attempt of fixing legacy JavaScript functions, only tested for simple cases 2012-03-06 15:26:11 +00:00
049cbd88dc Now using the etemplate code from the root instance (etemplate2.js acts as a egw api plugin); fixed egw.json plugins; fixed problem with 'instanceof Object', which does not work when sharing code over multiple windows 2012-03-06 13:22:01 +00:00
65ca8b0c1b Using new egw json api for sending submits 2012-03-05 15:02:32 +00:00
d310b14ecf Client side API now supports modules which are instanciated per application or per window; removed et2_debug function from et2_core_common, now using corresponding API function. 2012-03-05 13:07:38 +00:00
8d523cad93 Fix [popup] submission in et2 2012-03-02 18:35:49 +00:00
14e6ceecb6 Integrated application specifig egw api into etemplate2 code 2012-03-02 10:44:56 +00:00
26c888ccd4 Encode square brackets and split names at ][, not just [ 2011-11-14 22:57:06 +00:00
43c6d95a25 Get simple submit buttons (legacy actions) working in datagrid 2011-11-09 21:34:02 +00:00
c9e4d6801d Add getPath() to core widget so widgets can override it 2011-10-06 16:33:55 +00:00
395f4a804d added progress-widget 2011-09-09 12:39:27 +00:00
65a90eabb8 Defaulting 'null' entries in the content-arrays to {} 2011-09-09 09:28:48 +00:00
d9f321a413 Start of a link-to widget using jQuery-UI's autocomplete 2011-09-07 23:32:24 +00:00
990e1701f5 Work in progress on file upload 2011-08-31 23:37:30 +00:00
8a632c723a - Add image widget
- Add missing dependency on et2_core_common
2011-08-30 20:56:01 +00:00
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
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
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
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
53f4064cdc Added some naming scheme to the js files 2011-08-24 10:18:07 +00:00
f00d5aba60 Parsing the 'modifications' array 2011-08-23 15:27:34 +00:00
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
e8e5a3066a Simple date/time, still needs to know user format 2011-08-22 18:18:29 +00:00
09bc77426c Selectbox now allows 'option'-widgets inside of it, added hrule widget, added support for 'buttononly' 2011-08-21 13:24:20 +00:00
7c7a8230cf Added basic approach to have selectbox widget running again (probably not fully working yet) 2011-08-20 18:34:14 +00:00
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
5e54d6b12b Add basic radio, readonly version of checkbox/radio 2011-08-18 17:34:01 +00:00
03d549bab9 Add validation (basic client & server side) 2011-08-17 21:36:08 +00:00
e792130479 Stop errors from missing _data and missing array managers 2011-08-16 21:18:26 +00:00
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
df2869c07f Add simple checkbox, missing ID property 2011-08-16 18:42:17 +00:00
63d0baf497 Added event listener system to etemplate2 2011-08-16 18:18:18 +00:00
03b4704685 Add basic implementation of numeric (int & float) and selectbox widgets 2011-08-16 17:02:09 +00:00
fb8ef99c0b Added align property and working hbox/vbox implementation 2011-08-16 16:46:22 +00:00
786ec9220c Added widget for html-XET tag and added forgotten et2_styles.js 2011-08-16 13:12:39 +00:00
40a11bdb4f Added widget for 'styles' XET tag 2011-08-16 12:56:55 +00:00
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
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
8207a325aa Moved loading of data-array attributes to the new 'loadingFinished' function 2011-08-15 14:52:45 +00:00