Commit Graph

3300 Commits

Author SHA1 Message Date
Ralf Becker
b42b0a9e21 new option to to show only enabled apps (ones which users can get run-rights for) in select-apps 2013-08-28 10:07:24 +00:00
Ralf Becker
c12c53bcb8 support getting app from "app_something::method" get_rows method 2013-08-28 06:59:06 +00:00
Nathan Gray
36021f5d13 Drag & drop files from user's system onto nextmatch row now working with sub-grids too 2013-08-27 20:24:55 +00:00
Nathan Gray
6028ac8eca Drag & drop files from user's system onto nextmatch row uploads & links file to that row 2013-08-27 17:26:02 +00:00
Nathan Gray
4e2843b4a1 Implement set_value() to accept a list of files, which triggers the async upload and callbacks 2013-08-27 17:20:08 +00:00
Nathan Gray
3d12c2b591 Add namespace to drop event bindings to easily remove only the ones the widget added. 2013-08-27 16:29:13 +00:00
Klaus Leithoff
4874e671ff commit some french lang file stuff; provided by Thomas Chaillot, Spirea 2013-08-27 08:54:00 +00:00
Nathan Gray
2875455a59 Avoid error if menu was not created 2013-08-26 23:29:52 +00:00
Nathan Gray
5a5b02c304 Remove HTML from title in example - jQueryUI changed to text() so HTML no longer works 2013-08-26 19:10:26 +00:00
Nathan Gray
4fa0370ce4 Avoid error if div has no ID (eg: dialog) 2013-08-26 19:08:02 +00:00
Nathan Gray
838966ae9e Properly fix date-timeonly js side to return a timestamp as all date widgets, server side converts it to expected format, same as others. 2013-08-26 17:04:43 +00:00
Nathan Gray
3b65d807ba Better handling for disabled columns.
Disabled grid columns don't create widgets, which caused the nm issues as it expected a widget in each cell.
2013-08-26 16:42:49 +00:00
Ralf Becker
aa8a848871 optional parameter for egw_framework::window_close() to specify an alert message, which get shown/alerted, before closing the window 2013-08-26 10:24:11 +00:00
Ralf Becker
0de6ab1b35 fix not working timesheet status and category actions: "disableClass", "enableClass" and "enableId" are now handled by action system itself, one should not set an explicit "enabled" attribute anymore 2013-08-26 08:24:50 +00:00
Ralf Becker
d8984be747 isDirty() method for whole template / etemplate2 object, thought it needs more work in widgets, not setting this._oldValue in their set_value() method 2013-08-23 15:15:30 +00:00
Ralf Becker
f4e1db3a68 fixed htmlarea not returning any content caused by prefixed DOM id, now all DOMwidgets have their DOM id available via this.dom_id set via this.set_id() 2013-08-23 14:10:37 +00:00
Ralf Becker
3bbfb8574b fixed wrong brackets causing run method not to decend into NOT disabled widgets 2013-08-23 13:00:13 +00:00
Nathan Gray
f94d213a91 Add stack trace to problem widget report so we can actually track down the problem 2013-08-21 17:18:40 +00:00
Nathan Gray
8c5cc3ca22 Fix favorites sidebox menu going missing - caused by jQueryUI CSS change 2013-08-21 16:02:24 +00:00
Nathan Gray
eb1be53297 Fix bad value in selectbox 'blank' option 2013-08-21 15:59:42 +00:00
Nathan Gray
c1be84c912 Some layout changes to get autocomplete (link widget, select users) working in dialogs too 2013-08-20 23:08:35 +00:00
Nathan Gray
17e8d00054 Fix up nm_action open_popup to match et2 unique ID changes 2013-08-20 22:23:18 +00:00
Nathan Gray
62d42c83da Some documentation, add ability to set value rather than hacking up getValue() (actions) 2013-08-20 18:49:38 +00:00
Nathan Gray
dba3bcc2aa Update timepicker, some work on date-timeonly so it returns a value 2013-08-20 18:37:09 +00:00
Ralf Becker
17203aaab3 an other missing semicolon ;-) 2013-08-20 16:43:37 +00:00
Ralf Becker
c39273ac51 allow to (optionally) add tabs to existing tabs in template instead of replacing them 2013-08-20 16:41:31 +00:00
Nathan Gray
f9ee897544 Prevent errors if refresh message is undefined 2013-08-20 15:59:16 +00:00
Ralf Becker
d9ee56bd79 adapt form::name() legacy pseudo function to new template-prefix 2013-08-20 14:23:00 +00:00
Ralf Becker
73aa652c41 missing egw.js from last commit and egw_framework::window_focus() method 2013-08-20 13:25:36 +00:00
Ralf Becker
1c4f65120c new egw_framework methods refresh_opener and window_close to call egw_refresh on opener or close popup window in a content security save way 2013-08-20 12:06:41 +00:00
Ralf Becker
8c2bdf8d0f disable permanent error-log 2013-08-20 11:57:44 +00:00
Ralf Becker
cad9521d02 fix indention 2013-08-20 11:13:42 +00:00
Klaus Leithoff
2f25201e72 implement the possibility to return multiple lines on get_message for tracking; allow transformation of --- into horizontal rule on html on get_message 2013-08-20 10:53:17 +00:00
Ralf Becker
d244ab7c79 NOT using html5 input type="time", as there is (intentionally) no way to control time-format, but with current state of html5 support, our preference is more relyable and we dont want users to open bugs because we do not respect their EGroupware time-format preference 2013-08-20 09:42:00 +00:00
Ralf Becker
155f771cc4 fixed not shown select-columns icon, rather hackisch, but I could not find a solution via our css files 2013-08-20 08:03:46 +00:00
Nathan Gray
e4b158be4b Give nextmatch a real getValue() function instead of faking it all the time. 2013-08-19 20:23:26 +00:00
Nathan Gray
d7375a2321 Add tooltips to popup header buttons 2013-08-19 20:21:56 +00:00
Nathan Gray
656560c376 Make sure et2 apps don't get passed back to old etemplate 2013-08-19 19:53:45 +00:00
Nathan Gray
09f2ccbb73 Add legacy option for only_app, improve wrong data error message 2013-08-19 17:42:08 +00:00
Klaus Leithoff
95e18fd5a7 merge russian lang files provided by MBCGroup 2013-08-16 11:01:33 +00:00
Hadi Nategh
fadca5bb6b fix set value for class when there is an assigned content to class= in .xet file 2013-08-16 08:11:06 +00:00
Nathan Gray
eec6791213 Silence some missing attribute settings warnings and fix warning about not loading app.js when it was already loaded 2013-08-14 18:01:22 +00:00
Nathan Gray
42e66e9319 Fix detached label not updating 2013-08-14 17:35:50 +00:00
Ralf Becker
fabc787fc3 * ProjectManager: fix SQL error if searching for string containing numbers and underscore or percent
skip user-wildcards (*,?) in is_numeric test, but not SQL wildcards, which get escaped and give sql-error
2013-08-14 08:02:23 +00:00
Nathan Gray
7e1a785615 Make whole edit dialog a drop target - files will be uploaded & linked
Done in the link widget, so any template with link-to should work.
2013-08-13 20:46:23 +00:00
Nathan Gray
952d6f8801 Fix file upload in international charsets (Farsi) - use existing egw_vfs::basename() instead 2013-08-13 17:03:36 +00:00
Nathan Gray
eade44ec57 Fix file upload in international charsets (Farsi) 2013-08-13 16:24:12 +00:00
Nathan Gray
6fdeb9f5f8 Drag files from desktop anywhere onto filemanager uploads 2013-08-09 23:34:42 +00:00
Nathan Gray
b74eec3d3f Reset back to old etemplate 2013-08-09 19:19:31 +00:00
Nathan Gray
069325c89d Do not center Filter. It had no effect on short lists, but chosen actually respected the setting 2013-08-09 19:18:58 +00:00
Nathan Gray
fefdb42340 Change comment caching to object level instead of class level to prevent revealing restricted comments 2013-08-09 16:23:50 +00:00
Ralf Becker
c8aa72039f html-encoding is done in etemplate engine 2013-08-09 11:17:30 +00:00
Ralf Becker
11f7673408 keeping options in format used for select-boxes everywhere else and convert to taglist.setData format just when calling setData, added new method select_all to set_value all items in select_options 2013-08-08 08:56:43 +00:00
Ralf Becker
99b6fe41e7 fix set_value to work after inital load, eg. on a button press 2013-08-07 14:52:12 +00:00
Klaus Leithoff
d2a851931f provide contact-id on errormessage on failure of mail-merge 2013-08-07 08:07:24 +00:00
Ralf Becker
b70f4bcd27 fixed taglist to no longer require ids to be set in select_options, IF allowFreeEntries is left on its default true 2013-08-06 18:31:24 +00:00
Klaus Leithoff
6362e257b1 alter message on success/failure of multiple message sending via addressbook mail-merge 2013-08-06 13:48:20 +00:00
Ralf Becker
ff536e6f1c * PostgreSQL/Addressbook: fix SQL error in addressbook by organisation and department 2013-08-06 12:09:11 +00:00
Nathan Gray
dacc98ae72 Add drop_target attribute to support HTML5 dropping of files 2013-08-03 19:12:38 +00:00
Nathan Gray
8097119b6c Remove debug 2013-08-03 14:46:51 +00:00
Klaus Leithoff
a69df51eaa as insertObject (called by treeObj.addObject) expects id to be either string or object, we cast the option.id in case its a number 2013-08-01 09:54:32 +00:00
Nathan Gray
a7180f2f1c Implement validate() so taglist can return values 2013-07-31 16:56:17 +00:00
Klaus Leithoff
fbc28c9b62 attempt to fix problem of comment-visiblity on multiple assignments of the ticket in question 2013-07-31 10:22:07 +00:00
Nathan Gray
72fb016cb4 Fix dropdown + favorites menu not doing anything when clicked. 2013-07-30 14:17:36 +00:00
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
Nathan Gray
173d2ad374 Fixes to actions, to better support changing after initial creation 2013-05-21 20:24:40 +00:00
Nathan Gray
f53a90ccdf Update in-code documentation to match code 2013-05-21 20:23:35 +00:00
Nathan Gray
08ac429774 Sort browser's widget list, so you can find widget you're looking for 2013-05-21 20:22:51 +00:00
Klaus Leithoff
6e1e86123f add basic refreshItem function; TODO: need to implement the refreshing of the actions 2013-05-21 08:33:16 +00:00
Klaus Leithoff
c6164973ae fix bug regarding the missing of all tree actions after leaf deletion 2013-05-17 13:30:43 +00:00
Ralf Becker
c496516f19 re-added ability to use $sel_options["something[else]"] removed in last commit "compatibility with eT2" 2013-05-15 13:22:53 +00:00
Klaus Leithoff
4c4a05e426 control resizing for IE10 under Windows8 2013-05-14 13:22:30 +00:00
Klaus Leithoff
090f8b134e delete a leaf of the tree 2013-05-13 14:40:44 +00:00
Ralf Becker
85a198d9e6 fixed id check, causig it not to use options given for id=0 2013-05-13 11:59:09 +00:00
Ralf Becker
8cebfe3339 some more docu for tree-widget and allow to use autoloading-url for initialisation too 2013-05-12 13:09:20 +00:00
Ralf Becker
8f52e2ca3c fixed fatal error in soetemplate called by editor, if etemplate is switched to etemplate_new 2013-05-11 09:25:32 +00:00
Nathan Gray
e9a5f7e09c Add values for tabs, and make sure dynamic tab values are passed 2013-05-10 20:39:12 +00:00
Ralf Becker
489978d590 use either tab definition from xml or tabs defined via setElementAttribute($id, tabs, array $tabs), also allow that for old eTemplate 2013-05-09 09:28:27 +00:00
Nathan Gray
73f1cd921b Use new dialog to confirm favorite deletion 2013-05-09 04:05:03 +00:00
Nathan Gray
eaa100921c Fix preferred favorite not being saved 2013-05-06 21:34:47 +00:00
Nathan Gray
c5c4d92d09 Make sure activeFilter gets set during init 2013-05-06 20:58:59 +00:00
Nathan Gray
43d0128fb6 Update action/leaf id when renaming 2013-05-06 20:03:14 +00:00
Nathan Gray
57d6132a37 Actually use template attribute when provided 2013-05-06 17:36:37 +00:00
Nathan Gray
8a2259ae99 Enhance tab widget's 'tabs' attribute to include hidden, and id to access content array 2013-05-06 17:17:52 +00:00
Nathan Gray
d3f498f0f4 Avoid an error if type is missing 2013-05-06 17:12:45 +00:00
Ralf Becker
1b3c934823 a few compatbility methods and hacks to get old etemplates to behaves a bit more like eT2 2013-05-03 11:50:40 +00:00
Ralf Becker
005d5ed090 value of description set via id need to get translated, if !no_lang is set, value set via value attribute already get translated via transformAttributes and translate: "!no_lang" of value 2013-05-03 11:46:26 +00:00
Nathan Gray
42fd3fe37b Implement optgroups for select widget 2013-04-29 18:36:48 +00:00
Klaus Leithoff
8913df2366 remove console logging on focused 2013-04-29 14:59:55 +00:00
Klaus Leithoff
efd4d85143 add rename of an item. caveat, does not rename dependent leafs yet 2013-04-29 14:58:29 +00:00
Ralf Becker
5eede4a8ef allow to use <widget type="${row}[type]"/> in xet files 2013-04-28 12:43:18 +00:00
Ralf Becker
947511779a _atts["select_options"] is not null but {} 2013-04-28 12:42:13 +00:00
Ralf Becker
26c66d12d7 create static method etemplate_widget_menupopup::fix_encoded_options(), so apps can call that for cases it is not called automatically (eg. autorepeated rows) 2013-04-28 12:39:58 +00:00
Nathan Gray
4759d19d25 Fix nextmatch hierarchy display 2013-04-24 19:53:51 +00:00
Ralf Becker
78449edd4c some css for new dialog: left aligning buttons as everywhere in EGroupware, auto-size dialog, static show_prompt method to display a prompt, fixed not working translation of standard buttons 2013-04-23 16:51:00 +00:00
Nathan Gray
6f124f4b10 When nm loads data, make sure selection is still shown 2013-04-23 15:34:47 +00:00
Nathan Gray
516872e322 Fix custom buttons with no template not working 2013-04-22 22:56:55 +00:00
Nathan Gray
5e84ddd935 Change admin column selection to allow setting / clearing / forcing column selection 2013-04-22 22:32:40 +00:00
Nathan Gray
fc727570dd Implement set_value() on file widget - you can't really set file upload values programmatically to anything that makes sense, but it can be cleared 2013-04-22 16:52:03 +00:00
Nathan Gray
bd6c23298b Change ODS file line break tag from <text:line-break> to </text:p><text:p> so it works in LibreOffice 2013-04-22 15:25:19 +00:00
Ralf Becker
3a14e96d1a allow to use hierarchical function names, eg. app.filemanager.upload via new et2_call function 2013-04-20 19:21:42 +00:00
Ralf Becker
28aab234a7 fixed space instead of tabs 2013-04-20 19:20:51 +00:00
Ralf Becker
f814b6077e reverting accidently commited default to et2 2013-04-20 12:21:22 +00:00
Ralf Becker
cd024eef1b add nice link overlay icon to vfsMime widget (for symlinks) 2013-04-20 12:19:27 +00:00
Ralf Becker
a14ede7587 added @memberOf to get outline 2013-04-20 09:51:52 +00:00
Nathan Gray
5555edcb98 Add dialog widget 2013-04-16 18:50:43 +00:00
Nathan Gray
b66a74ff03 Make currently browsed widget available for console playing as window.wb_widget 2013-04-16 18:48:06 +00:00
Nathan Gray
0ae58e39de Load jquery-ui css before ours, so we can override it 2013-04-16 18:46:23 +00:00
Nathan Gray
4239b83bd0 Add not implemented js function type. It understands app.appname.function style arguments 2013-04-16 18:44:43 +00:00
Nathan Gray
a4395a8000 If a specific template name is not provided, use the last template in the file 2013-04-16 18:42:53 +00:00
Nathan Gray
d58a3128e7 Some checking to make sure variables are there, and avoid errors 2013-04-16 18:40:38 +00:00
Ralf Becker
e64c4fbd04 add some JSDoc so Eclipse shows an outline: @memberOf and @augments (not yet understood by Eclipse), also fixed many warnings (mostly missing semicolons) 2013-04-13 19:00:13 +00:00
Ralf Becker
5a4850b2ed fixed not correctly displayed file type: need to compare with bitmask after and-ing it 2013-04-13 09:46:00 +00:00
Ralf Becker
34dd94dc76 fixed set_(ro_)image to set the according option and update current image, new method set_readonly updating readonly attribute and current image 2013-04-12 17:19:18 +00:00
Nathan Gray
027bcc53d1 Enable drop on nextmatch rows 2013-04-12 17:05:35 +00:00
Nathan Gray
4c692102a2 Common styling for et2 containers, regardless of ID 2013-04-12 16:29:40 +00:00
Nathan Gray
c85582180a Avoid an error in the destruction by checking for widget 2013-04-12 16:28:52 +00:00
Nathan Gray
41d34f84a2 Set a class for common CSS 2013-04-12 16:28:11 +00:00
Nathan Gray
b994f33825 Nextmatch onselect attribute understands app.appname.function directly, and passes nextmatch reference & list of ids 2013-04-12 10:33:29 +00:00
Ralf Becker
abee7bc2a1 allow to permanently use etemplate_new for ported applications no longer supporting old etemplate, while still having etemplate default to etemplate_old 2013-04-12 09:50:27 +00:00
Ralf Becker
fa3f1c5055 ro version of vfs-name to behave like ro textbox (span instead of r/o input), also commented socket perm as it is set for dirs too (and we have no sockets in vfs) 2013-04-12 09:39:37 +00:00
Ralf Becker
4a26ad18c0 fixed whitespace (8 space instead tab) 2013-04-12 09:38:12 +00:00
Nathan Gray
7f80c74b59 Add onselect attribute for nextmatch 2013-04-12 09:28:42 +00:00
Nathan Gray
8192f13b3b Fix typos preventing some drops 2013-04-11 12:22:34 +00:00
Nathan Gray
8a6bba9ffe Give the et2 container an ID matching the loaded template name 2013-04-11 11:25:28 +00:00
Ralf Becker
0f72fba1b3 display #msg or .message like before in red and italics 2013-04-11 10:34:13 +00:00
Nathan Gray
9afe55bfae Have to read repository, not just create the object, or I get inconsistencies 2013-04-10 16:47:02 +00:00
Nathan Gray
79c09ec5cd Use LABjs to make sure everything is loaded 2013-04-10 16:03:58 +00:00
Nathan Gray
d996a3445f Fix et2_ready() when app called via ajax 2013-04-10 16:03:31 +00:00
Ralf Becker
ee65e7ae28 also need to re-assemble image options, as I cant edit/remove them in editor 2013-04-10 15:46:38 +00:00
Nathan Gray
64c03e772d CSS fixes - sidebox favorite spacing & nextmatch border 2013-04-10 15:25:40 +00:00
Nathan Gray
bb44a6ce26 Fix dynheight case when there is no space between dynheight & items below 2013-04-10 15:17:18 +00:00
Nathan Gray
c0e0982b0e Implement hide_header,header_left & header_right attributes 2013-04-10 14:09:55 +00:00
Ralf Becker
3fa9169f83 only have nextmatch-header "box" around the filters 2013-04-10 14:05:01 +00:00
Ralf Becker
28428c3aa0 make header_left/right a legacy option for nextmatch widget, allowing to specify it in template and therefore display them in editor 2013-04-10 13:26:04 +00:00
Nathan Gray
b171acf19a Don't try for default, causes error if add is not valid 2013-04-10 13:15:49 +00:00
Klaus Leithoff
0de87f5711 introduce getLabel function on tree-widget 2013-04-10 12:32:07 +00:00
Nathan Gray
0516d2cc2a If value is available in the constructor, set it there 2013-04-10 12:10:04 +00:00
Ralf Becker
40acef68b6 show disabled templates in editor 2013-04-10 11:47:11 +00:00
Nathan Gray
96d27aefc4 Fix - should always be top level of content 2013-04-10 11:05:20 +00:00
Nathan Gray
fdada6c3c0 Fix typo in missing JS object warning 2013-04-10 10:10:14 +00:00
Nathan Gray
4de7d2f432 Add a warning if application js object was not loaded 2013-04-10 10:05:17 +00:00
Nathan Gray
48d6204f29 Skip blank legacy options sooner 2013-04-10 09:39:36 +00:00
Nathan Gray
ec1ad6f09e Change splitter preference saving to save on mouseup 2013-04-10 09:25:05 +00:00
Nathan Gray
4c54745cbb Allow favorites from multiple apps to coexist 2013-04-10 08:00:31 +00:00
Klaus Leithoff
09f00a31a5 fix ckeditor area 2013-04-09 11:50:14 +00:00
Nathan Gray
978a90852c Add a base object for application javascript code to contain it, and solve initialization timing issues 2013-04-09 08:45:59 +00:00
Nathan Gray
cd0356219c Add some missing attribute attributes 2013-04-09 07:22:35 +00:00
Nathan Gray
af43412921 Fix editor to still work with existing basic widgets 2013-04-08 14:31:43 +00:00
Nathan Gray
715d45a2c1 Add very basic support for et2 widgets into editor, to at least not destroy templates 2013-04-08 14:06:01 +00:00
Nathan Gray
fd41f7e4bc In the rare case where the app specifies both select options in both the sel_options and the nextmatch options-name, try to avoid overwriting 2013-04-08 13:18:27 +00:00
Ralf Becker
ed76aa43e2 removed old code used to run etemplate without javascript, not working anymore and causing it now to fail after Nathans changes 2013-04-03 08:37:28 +00:00
Ralf Becker
81752aa4d5 using ege.LAB.wait for popup_resize() 2013-04-03 07:52:23 +00:00
Nathan Gray
b9a43091dc Fix problem with false/0 values failing validation 2013-04-02 22:57:09 +00:00
Nathan Gray
e8c9a1ecde LABjs wait to initialize actions until all files are there 2013-04-02 20:31:22 +00:00
Nathan Gray
ef2a5d377d Use LABjs throughout framework to load javascript - prevents a lot of undefined / timing errors 2013-04-01 19:14:52 +00:00
Nathan Gray
bdb148d167 Make sure widgetContainer is initialized before loading, prevents timing problems 2013-04-01 18:35:49 +00:00
Nathan Gray
3623ee6e72 Don't try to submit if the action is not a context menu (eg: drag, drop) 2013-04-01 18:19:59 +00:00
Nathan Gray
1f754d485b Tie egw_action system into etemplate widgets - allows actions on widgets 2013-03-26 21:19:17 +00:00
Nathan Gray
c55e636f43 Catch error from missing ckeditor stuff so it doesn't break everything else 2013-03-26 15:54:18 +00:00
Nathan Gray
61ef8de61e Missed call to _super.destroy() 2013-03-26 15:47:31 +00:00
Nathan Gray
fbd81e6aa9 Fix 'undefined' in read only selectboxes when value was not in list of options 2013-03-25 23:00:25 +00:00
Nathan Gray
fc0b2d1e8a Look for cat_id options in parent(global) sel_options manager too 2013-03-25 22:59:48 +00:00
Nathan Gray
0c017a4b35 Don't error if ckeditor adapter is missing, just fall back to text 2013-03-25 22:22:53 +00:00
Nathan Gray
d361206090 Always send app:id or just id from nextmatch_entryheader, instead of seperated properties 2013-03-25 22:04:10 +00:00
Nathan Gray
e6cfe7a505 Accept modifications where the value evaluates to false 2013-03-25 21:46:18 +00:00
Nathan Gray
3c651a38e0 Sort out customfilter options conflict 2013-03-25 21:43:35 +00:00
Nathan Gray
d394cca06f Avoid some init / destroy errors in color picker popup 2013-03-25 19:39:02 +00:00
Nathan Gray
c5d2b8dc23 Fix category check matching numbers inside other class names 2013-03-25 17:17:11 +00:00
Nathan Gray
a46fff9bbd Add implementation for xajax_eT_wrapper() to avoid having to replace them all right now 2013-03-25 16:56:10 +00:00
Ralf Becker
27a40efc84 async notifications can NOT use a single static variable as cache, as it will be used for all the different entries notified
--> using a class variable (different per app) and indexing cache be id or entry
2013-03-22 14:34:31 +00:00
Nathan Gray
f4fe5cf8b6 Add ability to specify which actions are available for the no results placeholder 2013-03-20 23:09:04 +00:00
Nathan Gray
873c3301d4 Get selected IDs if action function did not pass them 2013-03-20 22:20:05 +00:00
Nathan Gray
3332eec106 Add a function getSelection() so application code can more easily find the IDs 2013-03-20 22:10:51 +00:00
Nathan Gray
555582eb44 Don't try to format null dates, just pass null back to app 2013-03-20 21:19:56 +00:00
Nathan Gray
8c20d825cb Fix private custom field filtering 2013-03-20 20:47:54 +00:00
Nathan Gray
a140cd1f25 Make htmlarea more fault tolerant so it doesn't block the rest of the page if something happens 2013-03-20 20:45:43 +00:00
Nathan Gray
7a58f4c141 Fix up display issues in link widget (annoying link delete, hiding link button) 2013-03-20 18:26:18 +00:00
Nathan Gray
f7f9e13916 Fix missing custom fields 2013-03-20 16:41:46 +00:00
Nathan Gray
cf32147cc2 Avoid an error if we try to csv_split() null 2013-03-20 16:18:53 +00:00
Nathan Gray
fee50cec99 Fix nm refresh() not working if the ID was a number 2013-03-20 16:17:23 +00:00
Nathan Gray
3142b9fd1f Fix templates creating unwanted namespaces 2013-03-20 16:16:12 +00:00
Ralf Becker
7cc358b526 fixed not working link in notifications / subscribtions, if path contains eg. a space
caused by unnecessary appended path=... url parameter breaking WebDAV, added new config to NOT add it, as not setting id causes signature to fail
2013-03-20 09:55:30 +00:00
Nathan Gray
9ae89a0844 Fix missing data in named sub-templates 2013-03-19 22:53:51 +00:00
Nathan Gray
81fbfc23cc Add general placeholder {{link}} is a link to current record 2013-03-19 20:56:58 +00:00
Nathan Gray
e7b7b78e92 Re-init egw_time so it gets the appropriate preferences for the notification 2013-03-18 23:41:10 +00:00
Nathan Gray
cbbd03f388 - Use top-level preferences to load favorites
- Empty sidebox target on unload to prevent handlers hanging around
2013-03-18 20:58:55 +00:00
Nathan Gray
0e89b309e3 Push updated preferences to client so favorites don't re-appear / disappear 2013-03-18 20:55:47 +00:00
Nathan Gray
562ffe972f Fix some destructors 2013-03-18 20:52:41 +00:00
Nathan Gray
3e09f30480 Fix multiple delete confirmations 2013-03-18 15:43:22 +00:00
Nathan Gray
a0cedae8b3 Add chosen to et2 selectbox 2013-03-15 17:47:28 +00:00
Nathan Gray
7a3b2db0a6 If widget's row / column gets disabled, let widget know too 2013-03-15 17:46:53 +00:00
Klaus Leithoff
d4d2096a39 handle/fix missed ckeditor3 calls 2013-03-15 11:50:48 +00:00
Nathan Gray
4efa3e8be5 If there's no ID, don't even ask for the title 2013-03-13 19:32:25 +00:00
Nathan Gray
3c69b26525 Add empty row placeholder 2013-03-13 18:42:03 +00:00
Nathan Gray
656c3f3eb5 Fix typo breaking link activation 2013-03-13 18:36:01 +00:00
Nathan Gray
b57d8f3555 Tighen up favorite spacing in sidebox 2013-03-13 15:24:18 +00:00
Nathan Gray
86321fa998 Change blank filter label to 'No filters' 2013-03-13 15:23:21 +00:00
Nathan Gray
72fcd52f2d Fix favorite button alignment 2013-03-12 23:15:32 +00:00
Nathan Gray
9b74347048 Remove debug 2013-03-12 23:03:21 +00:00
Nathan Gray
dee286e2e0 Move favorites js into its own widget, add support for favorites in sidebox when there is no nextmatch on the page 2013-03-12 22:57:42 +00:00