From: <nat...@us...> - 2015-05-20 15:24:03
|
Author: nathangray Date: Wed May 20 17:23:55 2015 New Revision: 52792 URL: http://svn.stylite.de/viewvc/egroupware?rev=52792&view=rev Log: * If column information is stored in a favorite, restore it along with the filters To get column information in the favorite, change the visible columns before you create the favorite. If the favorite has no column information, the visible columns will not be changed. Modified: branches/14.2/etemplate/ (props changed) branches/14.2/etemplate/js/et2_extension_nextmatch.js branches/14.2/infolog/ (props changed) branches/14.2/infolog/inc/class.infolog_ui.inc.php branches/14.2/infolog/js/app.js branches/14.2/phpgwapi/ (props changed) branches/14.2/phpgwapi/js/jsapi/app_base.js Propchange: branches/14.2/etemplate/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Wed May 20 17:23:55 2015 @@ -1,1 +1,1 @@ -/trunk/etemplate:51364,51378,51382,51385,51389,51391,51397-51398,51405,51410,51412,51424-51425,51435,51437-51438,51450,51453-51454,51465,51488,51490,51516,51518,51522,51531,51533,51548,51551,51562,51565,51567,51580,51586-51589,51595,51600,51612,51628,51636,51645-51646,51649-51651,51680,51684,51690-51691,51695,51708,51712,51716-51717,51720,51791,51812,51814,51817,51822,51826,51830,51834,51874-51875,51886,51894,51903,51907,51929,51933,51943,51948,51950-51951,51953,51958,51971,51997,51999,52001,52012,52022,52036,52051,52072,52088,52093,52100,52103,52114,52117,52152-52153,52163,52175-52176,52188,52192,52194-52196,52204,52222,52224,52229,52232,52236,52238,52243,52245,52253,52255,52258,52261-52262,52268,52275-52276,52278,52282,52285-52286,52296,52307,52321,52330,52334-52336,52340-52341,52353-52355,52357,52360,52368,52372-52373,52375,52379,52385,52406,52412,52423,52440,52447,52449,52455,52460,52470,52472,52477,52482,52487,52492,52495-52496,52510,52514,52519,52524,52555,52570,52573-52574,52 583,52610,52624,52627,52635,52664,52667,52688,52690,52696,52698,52708,52713,52718,52720,52726,52728,52734,52749,52753 +/trunk/etemplate:51364,51378,51382,51385,51389,51391,51397-51398,51405,51410,51412,51424-51425,51435,51437-51438,51450,51453-51454,51465,51488,51490,51516,51518,51522,51531,51533,51548,51551,51562,51565,51567,51580,51586-51589,51595,51600,51612,51628,51636,51645-51646,51649-51651,51680,51684,51690-51691,51695,51708,51712,51716-51717,51720,51791,51812,51814,51817,51822,51826,51830,51834,51874-51875,51886,51894,51903,51907,51929,51933,51943,51948,51950-51951,51953,51958,51971,51997,51999,52001,52012,52022,52036,52051,52072,52088,52093,52100,52103,52114,52117,52152-52153,52163,52175-52176,52188,52192,52194-52196,52204,52222,52224,52229,52232,52236,52238,52243,52245,52253,52255,52258,52261-52262,52268,52275-52276,52278,52282,52285-52286,52296,52307,52321,52330,52334-52336,52340-52341,52353-52355,52357,52360,52368,52372-52373,52375,52379,52385,52406,52412,52423,52440,52447,52449,52455,52460,52470,52472,52477,52482,52487,52492,52495-52496,52510,52514,52519,52524,52555,52570,52573-52574,52 583,52610,52624,52627,52635,52664,52667,52688,52690,52696,52698,52708,52713,52718,52720,52726,52728,52732,52734,52749,52753,52790 Modified: branches/14.2/etemplate/js/et2_extension_nextmatch.js URL: http://svn.stylite.de/viewvc/egroupware/branches/14.2/etemplate/js/et2_extension_nextmatch.js?rev=52792&r1=52791&r2=52792&view=diff ============================================================================== --- branches/14.2/etemplate/js/et2_extension_nextmatch.js (original) +++ branches/14.2/etemplate/js/et2_extension_nextmatch.js Wed May 20 17:23:55 2015 @@ -1437,6 +1437,71 @@ }, /** + * Set the currently displayed columns, without updating user's preference + * + * @param {string[]} column_list List of column names + * @param {boolean} trigger_update=false - explicitly trigger an update + */ + set_columns: function(column_list, trigger_update) + { + var columnMgr = this.dataview.getColumnMgr(); + var visibility = {}; + + // Initialize to false + for (var i = 0; i < columnMgr.columns.length; i++) + { + var col = columnMgr.columns[i]; + if(col.caption && col.visibility != ET2_COL_VISIBILITY_ALWAYS_NOSELECT ) + { + visibility[col.id] = {visible: false}; + } + } + for(var i = 0; i < this.columns.length; i++) + { + + var widget = this.columns[i].widget; + var colName = this._getColumnName(widget); + if(column_list.indexOf(colName) !== -1) + { + visibility[columnMgr.columns[i].id].visible = true; + } + // Custom fields are listed seperately in column list, but are only 1 column + if(widget && widget.instanceOf(et2_nextmatch_customfields)) { + + // Just the ID for server side, not the whole nm name - some apps use it to skip custom fields + colName = widget.id; + if(column_list.indexOf(colName) !== -1) + { + visibility[columnMgr.columns[i].id].visible = true; + } + + var cf = this.columns[i].widget.options.customfields; + var visible = this.columns[i].widget.options.fields; + + // Turn off all custom fields + for(var field_name in cf) + { + visible[field_name] = false; + } + // Turn on selected custom fields - start from 0 in case they're not in order + for(var j = 0; j < column_list.length; j++) + { + if(column_list[j].indexOf(et2_customfields_list.prototype.prefix) != 0) continue; + visible[column_list[j].substring(1)] = true; + } + widget.set_visible(visible); + } + } + columnMgr.setColumnVisibilitySet(visibility); + + // We don't want to update user's preference, so directly update + this.dataview._updateColumns(); + + // Allow column widgets a chance to resize + this.iterateOver(function(widget) {widget.resize();}, this, et2_IResizeable); + }, + + /** * Set the letter search preference, and update the UI * * @param {boolean} letters_on Propchange: branches/14.2/infolog/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Wed May 20 17:23:55 2015 @@ -1,1 +1,1 @@ -/trunk/infolog:51376,51564,51630,51633,51645-51646,51648,51651,51658,51692,51760,51812,51817,51828,51935,51946,51953,52021,52065,52075,52078,52111,52151,52238,52245,52265,52362,52381,52437,52467,52480,52506,52509,52536,52735,52782 +/trunk/infolog:51376,51564,51630,51633,51645-51646,51648,51651,51658,51692,51760,51812,51817,51828,51935,51946,51953,52021,52065,52075,52078,52111,52151,52238,52245,52265,52362,52381,52437,52467,52480,52506,52509,52536,52732,52735,52782 Modified: branches/14.2/infolog/inc/class.infolog_ui.inc.php URL: http://svn.stylite.de/viewvc/egroupware/branches/14.2/infolog/inc/class.infolog_ui.inc.php?rev=52792&r1=52791&r2=52792&view=diff ============================================================================== --- branches/14.2/infolog/inc/class.infolog_ui.inc.php (original) +++ branches/14.2/infolog/inc/class.infolog_ui.inc.php Wed May 20 17:23:55 2015 @@ -422,8 +422,7 @@ $columselection = $this->prefs[$columnselection_pref]; - //_debug_array($columselection); - if ($columselection) + if (!$query['selectcols'] && $columselection) { $columselection = is_array($columselection) ? $columselection : explode(',',$columselection); } Modified: branches/14.2/infolog/js/app.js URL: http://svn.stylite.de/viewvc/egroupware/branches/14.2/infolog/js/app.js?rev=52792&r1=52791&r2=52792&view=diff ============================================================================== --- branches/14.2/infolog/js/app.js (original) +++ branches/14.2/infolog/js/app.js Wed May 20 17:23:55 2015 @@ -213,7 +213,12 @@ { // Show / hide descriptions this.show_details(filter2.value == 'all', nm.getDOMNode(nm)); - + } + + // Only change columns for a real user event, to avoid interfering with + // favorites + if (nm && filter2 && !nm.update_in_progress) + { // Store selection as implicit preference egw.set_preference('infolog', nm.options.settings.columnselection_pref.replace('-details','')+'-details-pref', filter2.value); @@ -223,6 +228,8 @@ // Load new preferences var colData = nm.columns.slice(); for(var i = 0; i < nm.columns.length; i++) colData[i].disabled=false; + + nm.set_columns(egw.preference(nm.options.settings.columnselection_pref,'infolog').split(',')); nm._applyUserPreferences(nm.columns, colData); // Now apply them to columns @@ -231,7 +238,7 @@ nm.dataview.getColumnMgr().columns[i].set_width(colData[i].width); nm.dataview.getColumnMgr().columns[i].set_visibility(!colData[i].disabled); } - nm.dataview.getColumnMgr().updated = true; + nm.dataview.getColumnMgr().updated = true; // Update page nm.dataview.updateColumns(); } Propchange: branches/14.2/phpgwapi/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Wed May 20 17:23:55 2015 @@ -1,1 +1,1 @@ -/trunk/phpgwapi:51366,51376,51397,51419,51437,51453-51454,51479,51503,51512,51518,51521-51522,51526-51528,51530,51539,51556,51562,51577,51579,51588-51589,51612,51626,51701,51716-51717,51721,51758,51762-51763,51768,51775,51779,51785,51800,51810,51812,51817,51824,51839,51855,51870,51881-51882,51886,51905,51909,51918,51973,51975,51977,51988,52007,52016,52054,52057,52059,52062,52088,52099,52107-52108,52132,52147,52149,52165,52177,52179,52199,52220,52238,52241,52252,52268,52274,52283,52288-52289,52296,52301,52310,52312,52314,52316,52322-52323,52327,52332,52334,52341,52368-52372,52375,52399,52428,52457,52494,52497,52501,52517-52518,52532,52534,52579,52588,52596,52598,52604,52608,52619,52621,52653,52684,52686,52706 +/trunk/phpgwapi:51366,51376,51397,51419,51437,51453-51454,51479,51503,51512,51518,51521-51522,51526-51528,51530,51539,51556,51562,51577,51579,51588-51589,51612,51626,51701,51716-51717,51721,51758,51762-51763,51768,51775,51779,51785,51800,51810,51812,51817,51824,51839,51855,51870,51881-51882,51886,51905,51909,51918,51973,51975,51977,51988,52007,52016,52054,52057,52059,52062,52088,52099,52107-52108,52132,52147,52149,52165,52177,52179,52199,52220,52238,52241,52252,52268,52274,52283,52288-52289,52296,52301,52310,52312,52314,52316,52322-52323,52327,52332,52334,52341,52368-52372,52375,52399,52428,52457,52494,52497,52501,52517-52518,52532,52534,52575,52579,52588,52596,52598,52604,52608,52619,52621,52653,52684,52686,52706,52732 Modified: branches/14.2/phpgwapi/js/jsapi/app_base.js URL: http://svn.stylite.de/viewvc/egroupware/branches/14.2/phpgwapi/js/jsapi/app_base.js?rev=52792&r1=52791&r2=52792&view=diff ============================================================================== --- branches/14.2/phpgwapi/js/jsapi/app_base.js (original) +++ branches/14.2/phpgwapi/js/jsapi/app_base.js Wed May 20 17:23:55 2015 @@ -290,6 +290,11 @@ if(state.state && state.state.sort && state.state.sort.id) { _widget.sortBy(state.state.sort.id, state.state.sort.asc,false); + } + if(state.state && state.state.selectcols) + { + // Make sure it's a real array, not an object, then set cols + _widget.set_columns(jQuery.extend([],state.state.selectcols)); } _widget.applyFilters(state.state || state.filter || {}); nextmatched = true; |