Benutzer-Werkzeuge

Webseiten-Werkzeuge


Plugin installed incorrectly. Rename plugin directory 'swiftmail.backup' to 'swiftmail'.
software:tim:javascript:filter

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

software:tim:javascript:filter [2014/05/22 16:33]
fabian.tagsold angelegt
software:tim:javascript:filter [2021/07/01 09:52]
Zeile 1: Zeile 1:
-====Vorbelegte Filter==== 
  
-Es ist möglich Filter per Javascript mit Werten aus dem User Profil vorzubelegen. Um dies zu erreichen muss folgender Code in die verwendete custom.js Datei kopiert werden. 
- 
-<code javascript>​ 
-(function($){ 
- 
- var GADGET_NAME = '​pmprocesses';​ 
- var TAB_NAME = '​instances';​ //Gibt an auf welchem Tab der vorzubelegende Filter liegt (z.B.: definitions,​myStartedProcessInstances,​...) 
- var FILTER = '​name';​ //Gibt an welcher Filter vorbelegt werden soll (z.B.: smartFormIndex1,​smartFormIndex2,​...) 
- var SOURCE = gadget.getEntity('​currentUserProfile'​);​ //Oder gadget.getEntity('​currentUser'​) um Werte wie Vorname, Nachname,​... zu beziehen 
- var FIELD = '​department';​ //Gibt an welches Feld verwendet werden soll (z.B.: namefirst, namelast,​...) 
-    var USER_PROFILE = gadget.getEntity('​currentUserProfile'​);​ 
- var SYSTEM_PROPS = USER_PROFILE.systemConfigurationProperties;​ 
- var FILTER_NAME = '​filter.'​ + GADGET_NAME + '​.'​ + TAB_NAME + '​.'​ + FILTER; 
- var FIELD_NAME = '​fields.'​ + GADGET_NAME + '​.'​ + TAB_NAME; 
- var APPLY = true; 
-  
- function applyFilter(gui,​ value){ 
- var callback = gui.requestMethodCallback;​ 
- gui.requestMethod.filter = " ( " + FILTER + " like '​%"​ + value + "​%'​ ) "; 
- gui.requestMethod(callback);​ 
- gui.filters[FILTER] = {visible: false, active: true, value: value}; 
- } 
-  
- function overrideUpdateMe(gui){ 
- var old = gui.updateMe;​ 
- gui.updateMe = function(){ 
- if(this.gadget.name==GADGET_NAME && this.tabName==TAB_NAME){ 
- var filter = this.filters[FILTER] || '';​ 
- webService.SystemManager.saveGui(FILTER_NAME,​ filter.value || filter); 
- } 
- old.bind(this)();​ 
- } 
- } 
-  
- if(Gadget.CLIENTNAME=='​Processmanager Client'​){ 
- $(SYSTEM_PROPS).each(function(i,​ e){ 
- if(e.name==FIELD_NAME && e.value.indexOf(FILTER)===-1) 
-    APPLY = false; 
-    }); 
- var checkExist = setInterval(function(){ 
- var g = gadget.getGadget(GADGET_NAME);​ 
- if(typeof(g)!='​undefined'​){ 
- var t = g.tabView.getTab(TAB_NAME);​ 
- if(typeof(t)!='​undefined'​){ 
- overrideUpdateMe(t.gui);​ 
- var field = SOURCE.getValue(FIELD);​ 
- if(typeof(field)!='​undefined'​ && $.trim(field)!=''​ && APPLY) 
- applyFilter(t.gui,​ field); 
- $(SYSTEM_PROPS).each(function(i,​ e){ 
- if(e.name==FILTER_NAME && $.trim(e.value)!=''​ && APPLY) 
-    applyFilter(t.gui,​ e.value); 
-   ​ });​ 
- clearInterval(checkExist);​ 
- } 
- } 
- }, 300); 
- } 
-  
-}(jQuery)); 
-</​code> ​ 
software/tim/javascript/filter.txt · Zuletzt geändert: 2021/07/01 09:52 (Externe Bearbeitung)