Nathan Gray
6b537a1358
Add taglist-email sub-type, uses specific data source, formatting, and some client-side validation for just emails.
2013-07-30 14:16:47 +00:00
Ralf Becker
a293de8614
fix not working full submits if etemplate is etemplate_old and app uses etemplate_new
2013-07-30 12:21:19 +00:00
Ralf Becker
f41c0d1a72
fixed "PHP Parse error: syntax error, unexpected \ (T_NS_SEPARATOR)" error caused by email validation, also added error_log for these type of parse-errors
2013-07-30 09:11:33 +00:00
Ralf Becker
200a8860bf
* eTemplate/all apps: (silently) limit number of links shown to 1000 newest, to not run into memory_limit or max_execution_time and assuming noone will scroll further down anyway
2013-07-26 09:38:38 +00:00
Ralf Becker
d483b2a564
* PostgreSQL/ProjectManager/InfoLog: invalid SQL opening a new entry InfoLog entry
...
can not "SELECT * FROM table ... GROUP BY *" has to be "SELECT table.* ... FROM table GROUP BY table.*"
2013-07-26 06:57:23 +00:00
Ralf Becker
78f032e063
fixed DISTINCT leading to no data returned (eg. ctag in accounts-addressbook in eSync and CardDAV), DISTINCED added twice and not using so_sql_cf::search if no custom fields defined
2013-07-23 13:50:11 +00:00
Ralf Becker
0bca64517c
fixed SQL error introduced by r43149: multiple identical rows
2013-07-23 07:57:55 +00:00
Ralf Becker
364fbd0f66
fixed wrong call leading to maximum stack size exhaused error
2013-07-22 14:11:58 +00:00
Ralf Becker
f0808f09af
fixed action _target.id was id of tree and not of action
2013-07-22 06:34:01 +00:00
Nathan Gray
f4a6c9859a
More fixes forjQuery/jQueryUI update issues
2013-07-20 17:20:55 +00:00
Ralf Becker
f2906a1052
moved most action "comfort" functions (with exception of nm_action and pagination) from server-side nextmatch class to client-side egwActions.updateActions() method, so they are available for all widgets
2013-07-20 16:47:33 +00:00
Ralf Becker
f47e0bd59c
moved most action "comfort" functions (with exception of nm_action and pagination) from server-side nextmatch class to client-side egwActions.updateActions() method, so they are available for all widgets
2013-07-20 15:58:08 +00:00
Ralf Becker
f8c184d860
* All apps/custom fields: fixed multiple identical rows, if custom fields where set (introduced in last package)
2013-07-20 15:56:41 +00:00
Nathan Gray
7085d4b51a
Still off by default
2013-07-20 14:33:17 +00:00
Klaus Leithoff
0a37e675bd
allow to set a limit of selected entries
2013-07-20 14:03:06 +00:00
Nathan Gray
bd63529096
Rework etemplate2 loading to use JSON plugin when loading from regular request & AJAX. instead of inline script tag
2013-07-20 13:57:53 +00:00
Nathan Gray
f60fa14c30
Wrap loadingFinished() in a try / catch, so if one widget has problems it doesn't break the whole template.
2013-07-20 13:54:31 +00:00
Nathan Gray
0c30eeaee4
Taglist CSS for et2
2013-07-20 13:53:35 +00:00
Nathan Gray
a21f6aedfe
Check to see if autocomplete is available before destroying
2013-07-20 13:51:12 +00:00
Ralf Becker
74cb73d2d2
moved most action "comfort" functions (with exception of nm_action and pagination) from server-side nextmatch class to client-side egwActions.updateActions() method, so they are available for all widgets
2013-07-20 13:45:22 +00:00
Nathan Gray
2beadad730
Make sure dialog is created before trying to update buttons
2013-07-20 13:05:03 +00:00
Nathan Gray
49ef157e69
Continued development on taglist widget:
...
- More attributes
- Fix missing parent class and action system handlers
2013-07-19 15:07:35 +00:00
Nathan Gray
d2d0fa1fcd
Check for proper type (string) if I want to use string functions
2013-07-19 12:38:52 +00:00
Nathan Gray
36b5590882
Fix wrong argument order to jQuery.proxy()
2013-07-19 12:37:47 +00:00
Nathan Gray
b7ad0d33f8
Make sure onclick callback functions (specified as app.appname.funcname, or a real function) get all parameters passed, and they always can have a reference to the responsible widget
2013-07-19 12:36:59 +00:00
Nathan Gray
5b5a3ad58f
Fix copy-paste error in js attribute check
2013-07-19 10:55:07 +00:00
Nathan Gray
eb18408771
jQueryUI update changes where custom renderer hides
2013-07-19 09:31:00 +00:00
Nathan Gray
4ae6094d8d
New tag list widget, supports ajax & static options
2013-07-18 15:27:39 +00:00
Nathan Gray
14ebff54c9
Changes from updating jQuery & jQuery UI to latest versions
2013-07-18 15:26:41 +00:00
Nathan Gray
b3bf5b734f
Make unique ID deterministic - use template name
2013-07-18 09:21:07 +00:00
Nathan Gray
524f2b0f03
Use an etemplate / top template level prefix to avoid DOM ID collisions
2013-07-18 09:13:15 +00:00
Nathan Gray
1b270b2d6f
Use an etemplate / top template level prefix to avoid DOM ID collisions
2013-07-17 13:08:48 +00:00
Ralf Becker
792f1b26cc
replacing egw.LAB with egw_LAB, as egw object is shared by all iframes and popups, while LAB has to work on document
2013-07-17 12:47:21 +00:00
Nathan Gray
f9b72b05ac
Don't need to set ID, framework does it automagically.
2013-07-17 12:32:36 +00:00
Nathan Gray
0bba8fd032
Strip out any javascript added by application and it properly to the AJAX response
2013-07-17 09:57:50 +00:00
Nathan Gray
5f0ac7a70b
Fix server side auto-repeat to have different rows, instead of multiple references to the same one
2013-07-17 09:38:37 +00:00
Nathan Gray
df0dc0f27a
If record ID is missing, don't try to get data for it - skip the whole request
2013-07-17 09:36:38 +00:00
Nathan Gray
85db39ed4e
Support row ids from template:
...
id="$row_cont[field]"
2013-07-16 16:22:20 +00:00
Ralf Becker
92e0ee86a5
* All apps: allow to log user-agent and action of all changes in history-log of entries (enable in Admin >> Site configuration)
2013-07-11 13:09:23 +00:00
Ralf Becker
70dbb95d6e
make eTemplate widget-type integer an alias for int, to ease backporting templates from trunk
2013-07-11 08:13:40 +00:00
Nathan Gray
4e947b304c
Don't complain about read-only required fields
2013-07-10 18:25:28 +00:00
Nathan Gray
2bd53e72d4
Change evaluation order to get popup selector working again after last fix.
2013-07-08 22:24:36 +00:00
Nathan Gray
54eb53cdba
When setting a validation error for a widget on a tab, switch to that tab so the user can see it.
2013-07-08 21:55:38 +00:00
Nathan Gray
13e593a7f1
Handle entities in selects other than cat_id
2013-07-08 21:16:45 +00:00
Nathan Gray
55dc847f95
Fix bug where images with numbers in their url were not displayed
2013-07-08 19:40:17 +00:00
Nathan Gray
388b0816b7
Fix box autorepeat - only repeat children of type box
2013-07-08 19:06:28 +00:00
Nathan Gray
6091d6eb76
Fix box autorepeat - only repeat box children, fix $row expansion inside a grid so regular boxes don't break
2013-07-08 18:58:07 +00:00
Nathan Gray
e8c394ed54
Implement egw action system on grid rows.
...
NB: This is not nm_actions. See action system (egwAction.prototype.set_onExecute()) for details.
2013-07-05 15:13:05 +00:00
Nathan Gray
a0b07635eb
I can find no issues with attributes being objects, removing check & warning.
2013-07-05 15:03:49 +00:00
Nathan Gray
ab3fbd56bd
Promote label attribute from inputWidget to parent valueWidget, fixes missing labels on some readonly widgets
2013-07-04 20:42:21 +00:00
Nathan Gray
4d2c969b8f
Box children can now auto-repeat if child ID has $
2013-07-04 19:38:36 +00:00
Ralf Becker
93eac83b8a
fixed wrong bracket causing SQL error: is not unique
2013-07-04 16:42:33 +00:00
Nathan Gray
5e90755cd6
Add 'sortable' attribute to grid.
...
Set it to an AJAX (PHP) callback to enable, and it will be passed the grid ID & new row order whenever the user re-orders the grid rows.
2013-07-03 23:16:15 +00:00
Nathan Gray
67d2fb66c2
Add a check to prevent total failure in the rare event of bad settings.
2013-07-03 23:06:59 +00:00
Ralf Becker
486298a7c9
optional parameter for et2_nextmatch.applyFilters(_set) to certain filters before updating the rows, eg. applyFilters({ filter: '', search: ''}); to reset filter to 'all', remove search and update the rows
2013-07-03 14:29:17 +00:00
Ralf Becker
349da32512
allow to set name attribute of iframe (to be used as target in links)
2013-07-03 14:26:33 +00:00
Ralf Becker
98f13d3e55
new method to specify images of a given node or standard images for new node (not specifying them), fixed merging of dynamicly loaded data, which was not taking recursive struture into account and -1 as id to update, using new id of new data in that case
2013-07-02 18:24:32 +00:00
Ralf Becker
ffceaf445a
prototype for an admin app using et2 and a navigation tree, need to set index url in database: UPDATE egw_applications SET app_index="admin.admin_ui.index&ajax=true" WHERE app_name="admin" (dont forget to clear cache)
2013-07-01 17:07:07 +00:00
Ralf Becker
9a4693822c
* PostgreSQL: automatic fix GROUP BY clause to contain all non-aggregate selected columns, to work around SQL errors, caused by this MySQL "optimisation"
2013-06-28 10:44:46 +00:00
Nathan Gray
533f141bc2
nextmatch is always valid too
2013-06-26 22:23:41 +00:00
Nathan Gray
0c6f70005a
Implement some basic client-side validation (required)
2013-06-26 20:50:10 +00:00
Nathan Gray
7142d632a5
Implement htmlarea ascii mode
2013-06-26 19:34:14 +00:00
Nathan Gray
8f2248b6ab
When setting nextmatch filters, accept empty values too
2013-06-26 18:04:51 +00:00
Nathan Gray
c20029dfd6
Process entities returned along with row data in all cases
2013-06-26 17:28:51 +00:00
Nathan Gray
0fa6386b1c
Avoid XSS by using CSS to keep line breaks intact instead.
2013-06-26 14:11:54 +00:00
Nathan Gray
35da74fac0
Make sure there's a 'None' option if the select-account is not required so user is not forced to pick an account.
2013-06-25 22:15:09 +00:00
Nathan Gray
c8d2953c85
Check that input is created before using it, avoids error when chosen gets involved.
2013-06-25 21:56:08 +00:00
Nathan Gray
3ddf4a0300
Fix read-only selectboxes rejecting some values (same as r42732)
2013-06-25 21:38:11 +00:00
Nathan Gray
442c9e6356
- Add required attribute to radiobox so it can pass it on to radio buttons
...
- Add detached DOM support to play nice in datagrid rows
2013-06-25 20:53:39 +00:00
Nathan Gray
ac45bd0625
Implement server side required check on custom fields
2013-06-25 20:49:13 +00:00
Nathan Gray
059e82a01b
Change newlines to <br /> in read-only text to preserve multi-line data.
2013-06-25 17:48:48 +00:00
Nathan Gray
d2031034f1
Silence some more messages by providing attribute info
2013-06-25 16:44:50 +00:00
Nathan Gray
f33e49b4a5
Fix validation failure from menulist interfering.
2013-06-25 15:49:10 +00:00
Nathan Gray
e0b576e822
Fix read-only selectboxes not being translated
2013-06-25 14:37:24 +00:00
Nathan Gray
a05ac6fa11
Fix checkboxes using defaults not returning boolean
2013-06-24 23:03:55 +00:00
Nathan Gray
80ae80098e
Fix disabled grid rows still being created.
...
While not ideal (prevents modification / un-disabling after), this prevents some problems with doubled IDs
2013-06-24 20:50:37 +00:00
Nathan Gray
bcbc42135d
Fix country filters - custom filters with type select now modified to nextmatch-filterheader, not regular select
2013-06-24 20:49:27 +00:00
Nathan Gray
eaa0cb6fa0
Need to trigger chosen update for single selects too
2013-06-19 19:01:42 +00:00
Nathan Gray
bcd52bb375
Better fix for some widgets not being properly initialized (that doesn't break others)
2013-06-19 18:11:30 +00:00
Nathan Gray
865151f977
Use value as string, so we don't fail if invalid data is passed
2013-06-19 18:06:59 +00:00
Nathan Gray
625dae0c59
Fix select options with label & title not always working in rows
2013-06-19 15:14:56 +00:00
Nathan Gray
9bfdbfccaf
Fix some customfields not getting pre-processed or losing value
2013-06-18 23:26:43 +00:00
Nathan Gray
c952141839
Fix for some widgets with sub-type not being initialized properly
2013-06-18 23:24:55 +00:00
Nathan Gray
683a624710
Fix for some customfield dates going missing
2013-06-18 23:24:14 +00:00
Nathan Gray
1b3c8d15c8
Fix for HTML site/general configuration overwriting customfield settings
2013-06-18 23:23:42 +00:00
Nathan Gray
8a2c791be3
For radiobox customfields, implement "empty" first value = extra group label
2013-06-18 20:55:13 +00:00
Nathan Gray
0cd63aefc2
Fix missing custom selectbox rows attribute
2013-06-18 17:16:08 +00:00
Nathan Gray
c87a5d6806
Implement csv max,display for custom field text length
2013-06-18 17:03:06 +00:00
Nathan Gray
3f003ea3fb
Fix default checkboxes not getting validated
2013-06-18 16:39:26 +00:00
Nathan Gray
b7f83ef31f
Use a static variable to handle expansion when initializing with content set (validation)
2013-06-18 16:38:27 +00:00
Nathan Gray
a9aeabeeb1
Make sure we don't pass a bad sort value to app code
2013-06-18 16:24:01 +00:00
Nathan Gray
b933b17446
Put radio button labels after radio button by default
2013-06-18 15:08:50 +00:00
Nathan Gray
5c96c8c986
Prevent accidental too wide chosen boxes
2013-06-17 22:01:50 +00:00
Nathan Gray
94793b7808
Silence some warnings by providing info
2013-06-17 21:22:32 +00:00
Nathan Gray
ce5d6faa0a
Add setter method for tags attribute
2013-06-17 20:55:42 +00:00
Nathan Gray
8c449cae82
Trigger a load event on the template container when the etemplate is fully loaded, so other (non-app) scripts can hook in with ease. The etemplate2 object will be the second parameter to the callback.
2013-06-17 14:44:55 +00:00
Klaus Leithoff
079b919bbe
russian translations provided by Vladimir Gavrilov (MBC-Group)
2013-06-17 12:30:44 +00:00
Nathan Gray
8f277e0203
If disabling (=hiding) a widget, do its label too
2013-06-12 23:14:09 +00:00
Nathan Gray
ea104a9af5
Send any accumulated json responses after flushing etemplate - allows apps to use egw_json_response even when call is not an ajax call
2013-06-12 21:06:40 +00:00
Ralf Becker
066ffc2c25
refactored account_id change script to use information from app-specific tables_current.inc.php instead of a fixed list
2013-06-12 16:57:44 +00:00
Ralf Becker
341342bc39
fixed not working multiple value "select-account" or "home-accounts" (rows > 1) custom fields
2013-06-12 14:12:58 +00:00
Nathan Gray
7fc6d7e24d
Fix read-only display of links with application already set
2013-06-11 23:13:04 +00:00
Nathan Gray
4d26a36d09
Fix order of selectbox option detection so value is last choice
2013-06-11 22:51:45 +00:00
Nathan Gray
d2b9501208
Fix up column selection pref / default / forced to update session & indicate to admin that preference has been forced
2013-06-11 22:50:05 +00:00
Nathan Gray
c5a9952930
Better fix for tabs not being validated - handle it at the top level
2013-06-11 18:59:34 +00:00
Nathan Gray
6fcab842b0
Restore namespace when done running
2013-06-11 18:56:42 +00:00
Nathan Gray
446034c58f
Explode colon seperated values server-side to prevent warnings when expecting arrays
2013-06-11 15:36:01 +00:00
Ralf Becker
8d07c880ad
allow db-tools to edit meta information about schema, currently what is stored in integer columns, eg: "timestamp", "account", "account-commasep" or "category"
2013-06-11 14:48:25 +00:00
Nathan Gray
62a28e88fc
Accept any multiple CSV, not just numeric IDs
2013-06-10 23:38:02 +00:00
Nathan Gray
b45a7d7439
Fix tabs sometimes break subsequent namespaces
2013-06-10 23:29:48 +00:00
Nathan Gray
7da0e6d27b
Check to make sure search sub-widget is created before trying to use it
2013-06-10 22:07:31 +00:00
Nathan Gray
92aa694f97
Fix customfield sub-type restriction blocking all customfields
2013-06-10 20:15:11 +00:00
Nathan Gray
e5b91c72f2
Fix nm_compare_field() to work with et2
2013-06-10 19:26:04 +00:00
Nathan Gray
de7d633bd7
Make account quick search add to selection instead of replacing it
2013-06-10 16:53:41 +00:00
Nathan Gray
c8bbf8b582
Add tooltip explination to auto-refresh selectbox
2013-06-10 14:33:09 +00:00
Nathan Gray
6852d0807d
Improve UI of multi-row selectbox
...
- Only check button, no x (check toggles all/none), aligned with checkboxes
- Header with buttons hides when not hovering over checkbox, saving space
- Account select now has quick-select in header
2013-06-05 22:45:19 +00:00
Nathan Gray
d25d2d1b98
Fix link-entry widgets with only_app set losing value
2013-06-05 17:11:49 +00:00
Nathan Gray
a10914b20e
Fix link-entry custom fields showing application selectbox
2013-06-05 17:10:57 +00:00
Nathan Gray
654054826f
Implement home-accounts and select-account custom fields sub-placeholder expansions in the correct place, with the rest of them
2013-06-05 17:03:27 +00:00
Ralf Becker
53006a471c
if we have onclick or tooltip, add it to an extra div around single element of a box
2013-06-05 13:13:09 +00:00
Nathan Gray
cf0f1c9cd2
Implement no_files attribute
2013-06-04 23:05:31 +00:00
Nathan Gray
b79460e7a0
Check for value before trying to use it
2013-06-03 23:17:01 +00:00
Nathan Gray
4d13f3170f
Can't forget to reset the ID (template name), or it might not be able to load the template
2013-06-03 23:05:02 +00:00
Nathan Gray
f5ab004499
Fix occasionally missing selectbox value
2013-06-03 22:33:50 +00:00
Nathan Gray
1eaa51a2ca
Avoid conflict with existing etemplates using message class on a grid cell
2013-06-03 18:08:55 +00:00
Nathan Gray
d5b289e894
Add a global ajax callback so the et2 widget can stay in sync with the dhtmlxtree
2013-06-03 16:32:45 +00:00
Ralf Becker
bd1d0f7c18
fixed not working quoting of multiple values specified as array, can not use array walk, as 2. parameter is the key not passed data
2013-05-31 08:29:34 +00:00
Nathan Gray
e2d6d9a65d
Change some indenting
2013-05-29 19:12:14 +00:00
Nathan Gray
aeeb3e9469
Silence one warning by providing an attribute definition
2013-05-29 19:08:00 +00:00
Nathan Gray
59471e7e18
Queue property updates
2013-05-29 19:06:23 +00:00
Nathan Gray
0285ea4b28
Avoid errors removing top-level widgets, check for parent property first
2013-05-29 18:57:48 +00:00
Nathan Gray
e948a270f6
Fix bug losing app when passing {app:... id:...} to link entry
2013-05-29 15:26:22 +00:00
Nathan Gray
d8fcb574a6
Implement csv_fields = false to disable export button
2013-05-28 18:16:22 +00:00
Nathan Gray
9248942e9f
idots theme needs to use window, since the parent might not be full height either
2013-05-28 17:11:35 +00:00
Nathan Gray
25a6b2bda2
Update internal options
2013-05-28 15:43:35 +00:00
Nathan Gray
681be3af08
I guess template needs to stick around, even though it's freed
2013-05-27 23:34:14 +00:00
Nathan Gray
78b1fffc81
Fix spelling, avoid DOM error if you try to remove a node that wasn't added
2013-05-27 23:24:22 +00:00
Nathan Gray
7c7e100842
Properly remove template so it's not still a child
2013-05-27 23:22:31 +00:00
Nathan Gray
7f669bc5f0
Save a jQuery call by just passing the row to remove
2013-05-27 23:21:13 +00:00
Nathan Gray
68b4d0e975
Don't try to fill the window, just the parent
2013-05-27 23:12:40 +00:00
Nathan Gray
f08af9d467
Fix splitter by setting no overflow
2013-05-27 16:58:24 +00:00
Nathan Gray
89fe4531e2
Make sure actions get set when a leaf is refreshed
2013-05-27 15:51:18 +00:00
Ralf Becker
cd7b9b0910
return (protected) array with validation errors instead of just the count
2013-05-25 17:18:43 +00:00
Ralf Becker
50ed435eb7
* Calendar/InfoLog/Timesheet/Tracker/ProjectManager: edit focuses now automatic on title input
2013-05-23 09:01:33 +00:00
Nathan Gray
e8a21565ab
First run at a new home app. Just structure so far, more to come.
2013-05-22 20:13:12 +00:00
Nathan Gray
44f4e1ba3b
Silence permanent debug
2013-05-22 19:30:31 +00:00
Nathan Gray
753ba3b006
Remove debug
2013-05-22 19:29:42 +00:00
Nathan Gray
092493a065
Look for content / modifications inside the current name space as well, if the widget can create its own namespace
2013-05-22 18:13:37 +00:00
Nathan Gray
100c706674
Add an additional condition to check in case the template file is not recognized as XML, and try to parse it
2013-05-22 18:11:41 +00:00
Nathan Gray
f451b65557
Use refresh method for more intelligent updating
2013-05-22 18:10:26 +00:00