Commit Graph

206 Commits

Author SHA1 Message Date
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
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
7a6b105dc3 Moved et2_DOMWidget to its own file, added getInputNode function to et2_inputWidget 2011-08-11 13:53:35 +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
Nathan Gray
843a378b65 Fix clearing of nm_popup_action resulting in a submit for the second time a popup was shown 2011-08-08 17:35:01 +00:00
Andreas Stöckel
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
Andreas Stöckel
b4530a6d3e Implemented first version of the grid component (not complete) 2011-08-06 14:36:44 +00:00
Andreas Stöckel
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
Andreas Stöckel
c30e1d3e50 First version of the new etemplate2 js widget framework 2011-08-04 19:08:50 +00:00
Ralf Becker
03e379e570 * jQuery: changed $ to $j to work around mootools use in Joomla templates and other js code in imported projects
required to change $ --> $j:
phpgwapi/*
jdots/*
etemplate/*
stylite/*
felamimail/*
admin/*
news_admin/*
projectmanager/*
importexport/*
infolog/*
ranking/*

required, but not automatic:
importexport/setup/etemplates.inc.php
phpgwapi/js/jquery/*

negative, not to touch or revert later:
phpgwapi/inc/savant2/Savant2/Savant2_Compiler_basic.php:		'(\$(.+))'            => 'print $1',
phpgwapi/js/dhtmlxtree/libCompiler/core.js
sitemgr/*
phpfreechat/*
gallery/*
activesync/include/smb.php:        '^\tIPC\\\$(.*)[ ]+IPC' => 'skip',
etemplate/inc/class.bo_merge.inc.php: if ($this->table_plugins && preg_match_all('/\\$\\$table\\/([A-Za-z0-9_]+)\\$\\$(.*?)\\$\\$endtable\\$\\$/s',$content,$matches,PREG_SET_ORDER))

find phpgwapi jdots etemplate stylite felamimail admin news_admin projectmanager importexport infolog ranking \
	\( -name '*.php' -o -name '*.js' \) -exec grep -q '\$(' {} \; -print \
	-exec sed -i '' 's|\$(|$j(|g' {} \;
svn revert phpgwapi/inc/savant2/Savant2/Savant2_Compiler_basic.php phpgwapi/js/dhtmlxtree/libCompiler/core.js \
	importexport/setup/etemplates.inc.php phpgwapi/js/jquery/jquery.js etemplate/inc/class.bo_merge.inc.php
	
additional changes:
phpgwapi/js/jquery/jquery.js:	window.$ --> window.$j
phpgwapi/js/egw_json.js:291	this.request = $j.ajax({url: this.url,
jdots/templates/jdots/head.tpl:59			$j(document).ready(function() {
phpgwapi/js/egw_action/egw_grid_view.js: $.browser --> $j.browser
importexport/setup/etemplates.inc.php: etemplate editor importexport.wizard_basic_export_csv.choose_fields onclick of check icon changed
phpgwapi/js/egw_action/tests/*.html
phpgwapi/js/egw_action/tests/js/jquery.js:	window.$ --> window.$j
2011-07-03 09:00:36 +00:00
Ralf Becker
d654437a54 - allow confirmation only for multiple selected
- confirm, confirm_multiple and allowOnMultiple get now inherited by children (@Andreas: allowOnMultiple does NOT work on children for some reason)
- add confirmation for more then one receipient in mail merge
- translations for etemplate part
2011-06-30 17:35:52 +00:00
Ralf Becker
be57f2a37b new standard action to active the first link in a row, fixed numeric id's det Del shortcut 2011-06-30 12:43:04 +00:00
Andreas Stöckel
f3ccd96f03 Grid and nextmatch aoi now reset the input element focus once a row is clicked 2011-06-16 20:43:33 +00:00
Andreas Stöckel
509ff8aa53 Flagging next-match widget container as default-focus object 2011-06-15 20:50:24 +00:00
Andreas Stöckel
7f9db3701b Commited code for nextmatchRowAOI to support the new EGW_SELECTMODE_TOGGLE 2011-06-15 15:49:05 +00:00
Nathan Gray
ec56327c20 If action specifies target for location, use it 2011-06-06 20:22:49 +00:00
Ralf Becker
476a0c0a6d remove leading whitespace from caption used as confirmation message 2011-06-03 18:45:40 +00:00
Andreas Stöckel
bb8a28b6d7 Fixed typo in select handler assignment 2011-06-03 11:26:12 +00:00
Andreas Stöckel
6c1e8e0d06 Made selection on mobile devices work with touchend and not click (not final) 2011-06-02 22:50:35 +00:00
Ralf Becker
3bbc6a6962 - egw_open nm_action using new clientside link registry
- enabling/disabling actions based on row-id matching a regular expression
- children/submenus inherit 'url','popup','nm_action','onExecute','type','egw_open' attributes
2011-06-02 20:03:34 +00:00
Andreas Stöckel
4cb37be5d3 Implemented usage of global action manager and object manager for nextmatch widget 2011-06-02 14:49:56 +00:00
Ralf Becker
c9fbcc329e if no confirm_msg given, use caption instead for select_all confirmation 2011-06-01 11:30:08 +00:00
Nathan Gray
c93de715bc Clear action in case there's another one, prevents doubling 2011-05-17 19:13:55 +00:00
Ralf Becker
0ced6fcf51 - storing etemplate form name and variable prefix into egw_actionManager to be able to work on a 2. eTemplate on a page (InfoLog in Addressbook view)
- moving (open|hide|submit)_popup used in InfoLog and Tracker to etemplate, so code can be shared
  --> change 'onExecute' => 'javaScript:open_popup' to 'nm_action' => 'open_popup' and onclick="(hide|submit)_popup()" to onclick="nm_(hide|submit)_popup()"
2011-05-07 08:47:58 +00:00
Ralf Becker
366aa7c05a - allow to specify to use selectbox, instead of category selection for category
- allow to specify name of action (infolog already uses 'action')
2011-05-06 18:10:50 +00:00
Ralf Becker
60edb83929 enable via a class and no more need to set enabled='javascript:nm...' for enableClass or disableClass 2011-04-27 16:54:35 +00:00
Ralf Becker
fb5ea143be - returning checked state of all checkboxes, not only select_all, in $content[nm][checkboxes]
- $content[nm][select_all] is now only reference to $content[nm][checkboxes][select_all]
- checkboxes need no default onExecute, therefore removed nm_select_all method
- improved documentation for action stuff in nextmatch widget
- added egwAction.getActionsByAttr(_attr, _val) method returning all actions with a given attribute and value
2011-04-27 07:49:46 +00:00
Ralf Becker
98a2731116 - fixed not working add or remove category method from context menu
- disabling actions not available, because of missing rights
- trying to disable "remove from distribution list" and "delete distribution list", when no list is selected
  --> not yet working
2011-04-25 14:13:40 +00:00
Ralf Becker
2ccc4465e5 for select-all, show regular confirmation message plus select-all hint 2011-04-25 12:15:05 +00:00
Ralf Becker
a88288abd4 fixed not working confirmation, after whole-query was selected and deselected (can not insert false in hidden input) 2011-04-17 21:17:47 +00:00
Ralf Becker
bb0e8617b2 enable/disable edit and delete action, based on ACL rights, set as css classes to each row 2011-04-17 20:45:21 +00:00
Ralf Becker
6081a5749d timesheet context menus are now complete:
- query all is moved into context menu
- legacy support only contains button to trigger context menu
- moved some common phrases into the API:
  + Delete this entry
  + Delete these entries
  + You need to select some entries first!
- support for singular and plural confirmation messages
2011-04-17 18:53:45 +00:00
Andreas Stöckel
5e014cdfe2 Fixed problem with commiting forms in Firefox 2011-04-17 16:53:24 +00:00
Ralf Becker
752cd7249f replacing now $id in url with actual id, not longer adding it if url ends with = 2011-04-17 09:52:54 +00:00
Ralf Becker
806d3d604c added context menu for nextmatch widget: first implemenation in timesheet
- legacy actions column and multiple action row below table is switched off by default, but can be switched on again
- legacy action button is NOT yet working
- "whole query" checkbox need to go into context menu too
2011-04-16 21:45:13 +00:00
Andreas Stöckel
4b380ca119 Improved nextmatch row aoi and added AJAX-actions for createdir and symlink to filemanager_ui 2011-03-23 20:07:07 +00:00
Andreas Stöckel
20b769678f Updated aoi code, prevented unwanted browser selection, row is only selectable when a checkbox is found 2011-03-22 19:55:57 +00:00
Andreas Stöckel
f6d0edbdc1 Added basic support for the egw_action framework in the nextmatch widget (currently not active) 2011-03-22 17:06:02 +00:00
Nathan Gray
165628efc5 Correctly change style if element has more than one class 2011-03-08 23:49:30 +00:00
Ralf Becker
5bda513fd7 Mailing files directly from filemanager 2010-05-06 06:53:52 +00:00
Nathan Gray
8d0c656df8 Javascript fix for ajax select widget on IE 2010-02-15 20:40:34 +00:00
Klaus Leithoff
3ac8b33231 move the ie dropdown menu hack to jsapi, make it an preference, so you can switch it off, if it does not work for you 2010-02-12 09:04:44 +00:00
Klaus Leithoff
807b72aa93 feature: resize etemplate popups, that they may fit into the window 2010-02-03 14:11:16 +00:00
Klaus Leithoff
9c4c261c9b fixing a problem with multiple (or size>1) select fields in/for IE (selectbox hack) 2010-01-13 09:41:42 +00:00
Nathan Gray
d889e92774 Add AJAX Select widget as a field type for custom fields.
Select options can be provided using one of three different methods:
1.  key=value pairs, one per line, as for a selectbox
2.  @filename.php - The file must be in the egw root, and define an array named $options, that has key => value pairs
3.  Define the options normally used for the AJAX Select widget (get_rows, get_title, id_field) and it will pull values from the database, as normal.

Other options (icon, filter, template, link) can be used regardless of the method used to get the values.
2010-01-12 22:35:51 +00:00
Klaus Leithoff
f0972d7409 fixing a bug regarding the selectBox resize with MSIE (all was no longer selectable) 2009-12-09 11:58:19 +00:00
Klaus Leithoff
8239db5808 some finetuning regarding the hack to influence the selectbox behaviorin MSIE (optgroups, positioning); 2009-11-30 16:45:24 +00:00
Klaus Leithoff
7c13e6ca1f fixing a problem regarding MSIE and the hack to influence the selectbox behavior, when you selected an entry with an empty value 2009-11-30 13:23:35 +00:00
Klaus Leithoff
c8323fc034 hack to influence selectbox width behavior for MSIE; applied to all selectboxes created by html::select and etemplate.js loaded 2009-11-28 14:32:33 +00:00
Ralf Becker
b5673ab38a "fixed not working delete of filename to upload, after user declined to overwrite the file
(broken since r27247: fixing a problem reported for chrome and safari regarding the multiple upload of files in filemanager)"
2009-10-05 12:34:47 +00:00
Klaus Leithoff
855d379b43 fixing a problem reported for chrome and safari regarding the multiple upload of files in filemanager 2009-06-12 13:12:12 +00:00
Nathan Gray
040139dfac Fix key handling
- Stop search on up/down arrow, so you can use them to go through results again
- Cancel search timer on up/down arrow
- Pull key codes into a separate array so they're easier to maintain
2009-05-21 17:04:58 +00:00
Ralf Becker
0930d0a739 new ajax_submit() function with submitts the whole form via ajax to a given callback 2009-04-29 14:15:35 +00:00
Ralf Becker
a5a28ad708 Enhanced file upload to allow user to upload multiple files by appending
[] to the name of the widget, eg. "upload[]". In that case attaching a
file adds an other file upload via javascript direct under the current
upload and etemplate returns an array of files (each with keys
'tmp_name', 'name', etc.).
2009-02-26 13:51:25 +00:00
Nathan Gray
9b1132c631 - Fix bug that allowed tab key to trigger the search, which made tabbing through a list very annoying.
- Allow up / down arrow keys to trigger a blank search.  Due to the above bug, many users were doing this anyway.
2009-01-05 18:09:14 +00:00
Nathan Gray
eae198cf6c Un-encode html special chars (<, >, &) when filling in the title for the selected value 2008-08-11 14:47:16 +00:00
Nathan Gray
25a9f1165d Patch from Raphael Alla to prevent flooding by waiting to see if the user is done typing before sending request. 2008-05-26 14:48:32 +00:00
Nathan Gray
f733365165 Don't replace classname when user arrows through the list 2008-02-04 21:55:13 +00:00
Nathan Gray
85701b40af Added tab support so users can press tab and select the current (or first) row - thanks ot Raphael Alla for the patch
Added up / down arrow support so users no longer need to use the mouse.  Tested on Mac Firefox, Safari and IE6
2008-02-04 21:49:50 +00:00
Nathan Gray
986bd37196 Patches from John Trudel to make Ajax Select Widget work in Internet Explorer 2008-01-09 20:47:50 +00:00
Nathan Gray
b43a9982e3 Ajax select widget fixes:
- Remove the need for the user to have access to the eTemplate app
- Fix some settings being lost, and inability to clear the widget
2007-09-26 17:21:36 +00:00
Ralf Becker
483a48e0e9 fixed 2.unwanted-download problem: if you click on a download button and then use eg. a selectbox with onchange='this.form.submit()' the button _stays_ pressed, because the value of the button var is still set as the previous submitted form returns no new page to the browser (resetting the button var), because it's a download 2007-09-20 08:45:21 +00:00
Ralf Becker
f35db30ef4 "stupid IE forgets the checked value if the checkbox gets moved" 2007-09-13 13:00:29 +00:00
Ralf Becker
cc7f3ef768 new function to set certain values in a multiselection (div with checkboxes) 2007-09-13 12:30:57 +00:00
Ralf Becker
da5ecb4c0b "fix for opera (class property is uppercase), thanks to nabble-egp-AT-a80.net" 2007-06-15 17:34:00 +00:00
Cornelius Weiß
1b482d0587 fix for xajax requests 2007-06-09 15:39:50 +00:00
Ralf Becker
77a318ae69 newest ajax-select-widget from Nathan Gray 2007-05-25 22:13:26 +00:00
Ralf Becker
8c71320f44 "fixed error if FCKeditorAPI was not loaded (no FCK on the page), which cause the selected tab no longer be returned to the app" 2007-05-11 15:04:03 +00:00
Ralf Becker
5c43c59a5d "fix for bug #642: fckeditor and firefox - uneditable editor" 2007-05-08 12:55:48 +00:00
Ralf Becker
f0c9a45803 patch #25: AJAX Select widget from Nathan Gray 2007-05-08 12:20:38 +00:00
Cornelius Weiß
b25a0d2f2c fix not submitted submit_button 2006-10-13 09:31:00 +00:00
Cornelius Weiß
8ad18e36a8 adopted xajax_eT_wrapper to ralfs handler concept 2006-10-09 17:36:04 +00:00
Cornelius Weiß
465184f0f0 fix for the new id shema 2006-10-07 15:41:57 +00:00
Cornelius Weiß
79716a8048 new function to gather selected checkboxes 2006-10-07 15:02:17 +00:00
Cornelius Weiß
c1d55c6ade some xajax helpers 2006-09-28 12:26:29 +00:00
Ralf Becker
78735f5cf1 fixed sometimes (or some-browser) not working toggle_all 2006-09-24 16:52:15 +00:00
Ralf Becker
f5e5bdb1ed fix for eg. freetimesearch: non multiple selectboxes got wrongly a [] appended to the name 2006-02-28 17:02:58 +00:00
Ralf Becker
0f9c892d96 fixed freetime-search: used only the first participant 2005-12-02 16:43:23 +00:00
wnz_gh05t
8fdee9e625 make function toggle_all work with sub-grid 2005-10-18 21:22:46 +00:00
Ralf Becker
edbb4bfa9c added function to set a style property in a given element-type and css-class 2005-10-05 13:45:08 +00:00
Cornelius Weiß
868ce950cb extend js-proxy to handle ":" septerated values 2005-09-13 21:44:36 +00:00
Ralf Becker
215ab71516 added javascrpt values2url function to transmit selected runtime values via the url to a popup, which can use etemplate::process_values2url to retrieve the values from the url as content-array (incl. $preserv from exec()) 2005-06-16 21:44:51 +00:00
Ralf Becker
74b50f5dea added multiple checkboxes with identical names ending [] 2005-06-12 15:58:22 +00:00
Ralf Becker
68074ad82e fixed proxy to to add options to a selectbox, needed by IE ;-) 2005-06-11 20:11:41 +00:00
Ralf Becker
4693d2c6b4 added proxy to to add options to a selectbox, needed by IE 2005-06-11 19:06:38 +00:00
Ralf Becker
e66fc40408 tab-widget can change now between the tabs without a reload 2005-05-19 13:16:52 +00:00
Ralf Becker
cb7fa13a6f 1) use images+links for image-buttons, as the IE png-fix does not work on image-buttons
2) for links instead of button (eg. tabs) only one hidden-var is used, not longer one per button
2004-02-14 18:48:53 +00:00
reinerj
b01bf986dc change files from phpgw to egw 2004-01-27 16:58:19 +00:00
Ralf Becker
b8557e49d9 make the phpgw Version-0_9_16-branch HEAD 2003-08-28 14:31:11 +00:00