Nathan Gray
a09c277ae7
Log a warning if et2_insertLinkText is called without a node
2011-10-12 16:34:52 +00:00
Nathan Gray
338b14fc9d
_rebuildContainer() doesn't take parameters
2011-10-12 16:27:50 +00:00
Klaus Leithoff
1621485da9
* import/export: fix for failed export on not set limit for nonadmins on standard export (handle empty export_limit since it will be casted to 0 on (int))
2011-10-12 10:37:35 +00:00
Nathan Gray
a11673dc8f
Give a warning when the detached nodes are missing, to help track them down
2011-10-11 20:07:57 +00:00
Nathan Gray
0c2866a133
Rework fetching values from content & setting values in nextmatch
2011-10-11 18:18:58 +00:00
Nathan Gray
06e03d2137
Make sure customfields widget has an ID, or it can't access settings client-side
2011-10-11 18:15:51 +00:00
Nathan Gray
5e3362b3b7
Get some custom fields working
2011-10-07 16:59:50 +00:00
Nathan Gray
a33accfdbb
If an empty value is passed, make sure text is cleared
2011-10-07 16:58:36 +00:00
Nathan Gray
575d21b962
Progress on custom fields widgets
2011-10-06 23:44:55 +00:00
Nathan Gray
d88d25b704
Use namespace for nextmatch so children can get their data in the standard way
2011-10-06 23:10:08 +00:00
Nathan Gray
ed76f0491e
Expand sub-arrays that are indexed by form-name ('a[b][c]') into actual sub-arrays so perspectives work properly
2011-10-06 23:08:15 +00:00
Nathan Gray
be79886301
Add a warning if trying to set an attribute to an Object, so it doesn't just disappear
2011-10-06 23:04:40 +00:00
Nathan Gray
08f5e28d00
Override getPath() to push nextmatch's ID in
2011-10-06 16:38:51 +00:00
Nathan Gray
c9e4d6801d
Add getPath() to core widget so widgets can override it
2011-10-06 16:33:55 +00:00
Nathan Gray
66ea661e08
Try to handle partial template names - row as well as app.function.row
2011-10-06 15:23:24 +00:00
Nathan Gray
f67bfba58d
Let transformer handle trying to change sel_options
2011-10-05 22:27:35 +00:00
Nathan Gray
dfe5d21ea4
Save as default checkbox - still a problem getting value on server
2011-10-05 16:12:40 +00:00
Nathan Gray
a9b4bfdaba
Move column selection popup to nextmatch
2011-10-04 21:45:54 +00:00
Nathan Gray
99cad7bd37
Update for attributes moved to options sub-property
2011-10-03 17:50:29 +00:00
Nathan Gray
4c593038b0
Update nm query when column selection changes, re-query only when columns added
2011-10-03 17:14:17 +00:00
Nathan Gray
3c1bebf3f1
Fix missing current app...
2011-10-03 16:02:41 +00:00
Nathan Gray
155e3ab3b5
Fix error when sorting/filtering (showed up in timesheet)
2011-10-03 15:34:10 +00:00
Nathan Gray
c230e5f99a
Send category options - header doesn't use a template, so they have to be passed
2011-10-03 14:56:20 +00:00
Andreas Stöckel
8f9db8e353
Implemented own code for column resizing as jQuery-UI did not work properly with FF
2011-10-03 13:42:56 +00:00
Nathan Gray
b706d7d13d
Fix undefined var breaking linking
2011-09-30 16:19:09 +00:00
Nathan Gray
16d010becf
If hooked, keep app in extension_data to persist across etemplate loops. Fixes lost infolog custom fields in addressbook view when changing nm filters
2011-09-30 14:59:41 +00:00
Nathan Gray
43e75da558
Start of column resizing. Works OK in chrome, FF needs some work.
2011-09-29 22:57:42 +00:00
Nathan Gray
c956d6571b
Column selection using default or preference
2011-09-29 19:35:20 +00:00
Nathan Gray
168b79bc14
Implement called, but not defined, set_visibility() to update column visibility
2011-09-29 19:21:38 +00:00
Nathan Gray
18f73b21b9
Handling for setting value (for multiple-select) with an array or object
2011-09-29 19:20:20 +00:00
Nathan Gray
9b7cd5019c
Silence some messages about missing attribute attributes
2011-09-27 23:44:07 +00:00
Nathan Gray
a1d344077e
Set current column filter values
2011-09-27 23:16:54 +00:00
Nathan Gray
36c39cf4b8
Get filterheaders working
2011-09-27 17:58:10 +00:00
Nathan Gray
4e8fe1bb2c
Layout & some functionallity for nm header
2011-09-27 00:16:00 +00:00
Nathan Gray
c5237863c2
Get filter options into nm header
2011-09-26 19:11:01 +00:00
Nathan Gray
b41745afdb
Get js in row buttons working (again)
2011-09-26 16:19:09 +00:00
Nathan Gray
29501fc027
Add set_value() so selectbox can show current value
2011-09-26 16:01:42 +00:00
Nathan Gray
0ace096701
Start nextmatch header
2011-09-23 19:09:52 +00:00
Nathan Gray
c622957b40
Handle if button onclick didn't get compiled. Still a problem with variable insertion though
2011-09-22 23:03:37 +00:00
Nathan Gray
f7b2a2b02f
Set text last, in case title is undefined - it breaks the chaining
2011-09-22 21:40:21 +00:00
Nathan Gray
96bb751a26
Allow full URLs as images, don't try to split off the app
2011-09-22 21:39:34 +00:00
Nathan Gray
04f4287091
Declare variable before using it
2011-09-22 21:39:02 +00:00
Nathan Gray
860d37912b
If value is '', don't show a unit either
2011-09-22 21:28:26 +00:00
Nathan Gray
390bb1f6f0
Get all button images working (in timesheet & infolog list at least)
2011-09-22 21:23:30 +00:00
Nathan Gray
c631412dfb
Change style for buttons with icons to only display image
2011-09-22 19:10:21 +00:00
Nathan Gray
7488843290
Fix link - this.node is used by parent for DOM node
2011-09-22 19:02:33 +00:00
Nathan Gray
15ed02894f
Get submit buttons + buttons with no onclick function in a nm row (legacy actions) to at least fire
2011-09-22 16:25:41 +00:00
Nathan Gray
7297e02f39
Get some buttons working in nm. Not quite done yet, only buttons with onclick function working
2011-09-21 21:07:21 +00:00
Klaus Leithoff
2d494997ab
rework of bo_merge::getExportLimit, apply to etemplate, importexport, addressbook, calendar
2011-09-16 13:03:46 +00:00
Nathan Gray
0d47709ed1
Implement transformer changing type on client side by changing type while loading
2011-09-15 18:00:17 +00:00
Nathan Gray
965fb54ffa
Fix handling of first example - simple assignment
2011-09-15 17:57:48 +00:00
Nathan Gray
0b41f9da89
Target text could also be a number, treat it the same as string
2011-09-15 17:51:21 +00:00
Nathan Gray
a5e17d5193
Easier warning message for tracking down not existing attributes
2011-09-15 17:49:03 +00:00
Klaus Leithoff
d216a37bba
check if app is set before calling the hook on export_limit; TODO: move the call to bo_merge::getExportLimit and cache the appspecific returnvalue there, to improve speed
2011-09-15 17:40:37 +00:00
Klaus Leithoff
d9905d3fb4
calendar/addressbook/API: introduce hook to fetch the export_limit to be applied for an app; introduce method to test if a specific hook exists for an application; fetch the export_limit via hook where appropriate
2011-09-15 14:46:56 +00:00
Nathan Gray
c7d3cba6c6
Fix error breaking dates in nm
2011-09-15 14:02:24 +00:00
Nathan Gray
2302de28f2
Add some et2_IDetachedDOM handling
2011-09-14 20:52:59 +00:00
Nathan Gray
ff2a8102d6
Implemented all link widgets
2011-09-14 20:36:39 +00:00
Nathan Gray
812242a224
Get images working in buttons, sort of
...
-- Don't know what's happening with events in the grid. Something happens if you double click, but it's not the button's click method.
2011-09-14 18:37:38 +00:00
Nathan Gray
8b1a63e1ee
Transform attributes before passing them to the row's widget
2011-09-14 15:44:54 +00:00
Ralf Becker
ad99ce981f
getting server supplied actions working, thought actions submitting the form do not yet work
2011-09-14 14:25:09 +00:00
Klaus Leithoff
70a7026915
* merge_print/calendar: control the availability of mergeprint and csv export, if the export_limit is set to ->no<- and the user in question is not exempted from export_limit restrictions
2011-09-14 13:09:13 +00:00
Klaus Leithoff
36e3a1b8ce
add missing translations for export_limit feature of calendar, correcting translation strings for export_limit warnings
2011-09-14 10:27:53 +00:00
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 ​ 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
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