Nathan Gray
d4aed5cf03
More work on nm actions that need real submit (POST)
2012-04-24 19:47:23 +00:00
Nathan Gray
39c133fe2e
Try to get form submit (POST) working in FF
2012-04-23 20:25:21 +00:00
Nathan Gray
ea838035b6
Get submit actions (like Insert in document) working
2012-04-17 22:56:04 +00:00
Nathan Gray
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
Ralf Becker
d52ab179a7
classname in callback need to be renamed too
2012-03-28 16:30:17 +00:00
Nathan Gray
e330a7bfdc
Start of vfs widget
2012-03-26 19:46:51 +00:00
Nathan Gray
1dc6376ed4
Handle inputs with names ending in [] as arrays
2012-03-23 18:17:15 +00:00
Nathan Gray
56070c43c5
Add start of ajax select widget, get submits working again
2012-03-22 23:31:31 +00:00
Nathan Gray
11fe571e65
Instanciate the instance for the app based on template name when loading
2012-03-20 21:42:25 +00:00
Nathan Gray
ccaa65b0e4
Implement groupbox/caption with fieldset/legend
2012-03-19 21:06:02 +00:00
Nathan Gray
0aa4c66803
Don't proxy template, just don't load it until asked for
2012-03-14 21:27:23 +00:00
Nathan Gray
e5b4bcfe7f
Add selectAccount_ro to handle ajax user names
2012-03-14 19:02:28 +00:00
Andreas Stöckel
dc017ed889
Now again using a local etemplate2 instance on the client
2012-03-12 12:05:14 +00:00
Nathan Gray
e1f8411253
Add tree to list
2012-03-08 16:55:12 +00:00
Andreas Stöckel
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
Andreas Stöckel
e4ed4399cf
Attempt of fixing legacy JavaScript functions, only tested for simple cases
2012-03-06 15:26:11 +00:00
Andreas Stöckel
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
Andreas Stöckel
65ca8b0c1b
Using new egw json api for sending submits
2012-03-05 15:02:32 +00:00
Andreas Stöckel
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
Nathan Gray
8d523cad93
Fix [popup] submission in et2
2012-03-02 18:35:49 +00:00
Andreas Stöckel
14e6ceecb6
Integrated application specifig egw api into etemplate2 code
2012-03-02 10:44:56 +00:00
Nathan Gray
26c888ccd4
Encode square brackets and split names at ][, not just [
2011-11-14 22:57:06 +00:00
Nathan Gray
43c6d95a25
Get simple submit buttons (legacy actions) working in datagrid
2011-11-09 21:34:02 +00:00
Nathan Gray
c9e4d6801d
Add getPath() to core widget so widgets can override it
2011-10-06 16:33:55 +00:00
Ralf Becker
395f4a804d
added progress-widget
2011-09-09 12:39:27 +00:00
Andreas Stöckel
65a90eabb8
Defaulting 'null' entries in the content-arrays to {}
2011-09-09 09:28:48 +00:00
Nathan Gray
d9f321a413
Start of a link-to widget using jQuery-UI's autocomplete
2011-09-07 23:32:24 +00:00
Nathan Gray
990e1701f5
Work in progress on file upload
2011-08-31 23:37:30 +00:00
Nathan Gray
8a632c723a
- Add image widget
...
- Add missing dependency on et2_core_common
2011-08-30 20:56:01 +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
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
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
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
Andreas Stöckel
53f4064cdc
Added some naming scheme to the js files
2011-08-24 10:18:07 +00:00
Andreas Stöckel
f00d5aba60
Parsing the 'modifications' array
2011-08-23 15:27:34 +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
Nathan Gray
e8e5a3066a
Simple date/time, still needs to know user format
2011-08-22 18:18:29 +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
7c7a8230cf
Added basic approach to have selectbox widget running again (probably not fully working yet)
2011-08-20 18:34:14 +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
Nathan Gray
5e54d6b12b
Add basic radio, readonly version of checkbox/radio
2011-08-18 17:34:01 +00:00
Nathan Gray
03d549bab9
Add validation (basic client & server side)
2011-08-17 21:36:08 +00:00
Nathan Gray
e792130479
Stop errors from missing _data and missing array managers
2011-08-16 21:18:26 +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
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
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
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