Name
sn_table_builder.PreferenceManager
Description
No description available
Script
var PreferenceManager = Class.create();
PreferenceManager.BASE_SORT_DIRECTION_KEY = '.table_builder.order.direction';
PreferenceManager.BASE_SORT_COLUMN_KEY = '.table_builder.order';
PreferenceManager.DEFAULT_DIRECTION = 'ASC';
PreferenceManager.DEFAULT_COLUMN = 'sys_updated_on';
PreferenceManager.DEFAULT_ROWCOUNT = 20;
PreferenceManager.ROW_COUNT_KEY = 'table_builder.rowcount';
PreferenceManager.WELCOME_SCREEN_KEY = 'table_builder.dont.show.welcome.screen';
PreferenceManager.DEFAULT_WELCOME_SCREEN_KEY = false;
PreferenceManager.DATA_TAB_INFO_POPUP_PREFERENCE_KEY =
"table_builder.dont.show.data.tab.info.popover";
PreferenceManager.DEFAULT_DATA_TAB_INFO_POPUP_PREFERENCE_KEY = false;
PreferenceManager.prototype = {
initialize: function(table) {
this.table = table;
},
getSortDirection: function() {
var prefKey = this.table + PreferenceManager.BASE_SORT_DIRECTION_KEY;
return gs.getUser().getPreference(prefKey) || PreferenceManager.DEFAULT_DIRECTION;
},
getSortColumn: function(defaultColumnForSort) {
var prefKey = this.table + PreferenceManager.BASE_SORT_COLUMN_KEY;
var prefValue = gs.getUser().getPreference(prefKey);
// if there is no preference value, save default column as sort column in preferences
if (defaultColumnForSort && !prefValue)
gs.getUser().savePreference(prefKey, defaultColumnForSort);
return gs.getUser().getPreference(prefKey) || PreferenceManager.DEFAULT_COLUMN;
},
getRowCount: function() {
var rowCountValue = gs.getUser().getPreference(PreferenceManager.ROW_COUNT_KEY);
if (gs.nil(rowCountValue))
gs.getUser().savePreference(PreferenceManager.ROW_COUNT_KEY, PreferenceManager.DEFAULT_ROWCOUNT);
return gs.getUser().getPreference(PreferenceManager.ROW_COUNT_KEY);
},
isOrderByDescending: function() {
return this.getSortDirection() === 'DESC';
},
getCurrentSortQuery: function() {
var sortCmd = this.isOrderByDescending() ? 'ORDERBYDESC' : 'ORDERBY';
return sortCmd + this.getSortColumn();
},
getWelcomeScreenPreference: function() {
return gs.getUser().getPreference(PreferenceManager.WELCOME_SCREEN_KEY) || PreferenceManager.DEFAULT_WELCOME_SCREEN_KEY;
},
getDataTabInfoPopupPreference: function () {
return gs.getUser().getPreference(PreferenceManager.DATA_TAB_INFO_POPUP_PREFERENCE_KEY) || PreferenceManager.DEFAULT_DATA_TAB_INFO_POPUP_PREFERENCE_KEY;
},
type: 'PreferenceManager'
};
Sys ID
7485a11573b110107419c907fbf6a7db