Commit Graph

43 Commits

Author SHA1 Message Date
8820bf0acf Whoops - revert accidental commit 2012-03-12 17:58:55 +00:00
c2d1edc754 Make button onclick work inside nextmatch again 2012-03-12 17:55:52 +00:00
c3fd6f685f Don't hard-code preferences 2012-03-09 00:44:28 +00:00
8cd853fa36 Bring external test a little more up to date, at least so it sort of works 2012-03-09 00:35:24 +00:00
efca5500d9 first try of a progress widget, not yet working :-( 2011-09-09 08:29:31 +00:00
db074aa39c Added code which compiles PHP string expressions (like {[test]} ) into JavaScript functions. 2011-09-07 16:11:13 +00:00
7457315ea4 Fixed problem with calculated values diverging from actual height values 2011-09-02 16:15:57 +00:00
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
8a632c723a - Add image widget
- Add missing dependency on et2_core_common
2011-08-30 20:56:01 +00:00
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
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
07c61d65f0 Implement selecting tab via content array, hiding tab via readonlys array 2011-08-23 21:33:40 +00:00
b0a21acb12 Changed name of 'label_for' attribute to 'for', implemented attribute translation 2011-08-23 17:05:05 +00:00
e8e5a3066a Simple date/time, still needs to know user format 2011-08-22 18:18:29 +00:00
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
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
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
e76cf6eab2 - Add labels to input widgets
- Add row & col properties to textarea
2011-08-17 22:56:49 +00:00
03d549bab9 Add validation (basic client & server side) 2011-08-17 21:36:08 +00:00
2234cc3413 Added very simple but working implementation of the tabs widget 2011-08-17 09:07:09 +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
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
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
89230b86cf Added functions to expand names and a basic implementation for 'disabled' 2011-08-12 15:26:08 +00:00
7a6b105dc3 Moved et2_DOMWidget to its own file, added getInputNode function to et2_inputWidget 2011-08-11 13:53:35 +00:00
9ea38d694b Added very basic implementation for reading the content array 2011-08-10 17:44:22 +00:00
510c482eef Fixed some dependencies 2011-08-10 14:39:35 +00:00
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
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
b4530a6d3e Implemented first version of the grid component (not complete) 2011-08-06 14:36:44 +00:00
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
c30e1d3e50 First version of the new etemplate2 js widget framework 2011-08-04 19:08:50 +00:00