Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Catalog Client Script (runs on [Store] Record Producer Change)
- function onChange(control, oldValue, newValue, isLoading) {
- if (isLoading || newValue == '') {
- return;
- }
- // new GlideAjax object referencing store of AJAX script include
- var ga = new GlideAjax("HRProfileAjax");
- // add store parameter to define which function we want to call
- // method store in script include will be getFavorites
- ga.addParam("sysparm_store", "getHRProfile");
- ga.addParam("sysparm_tier", "getHRProfile");
- // submit request to server, call ajaxResponse function with server response
- ga.getXML(ajaxResponse);
- function ajaxResponse(serverResponse) {
- // get result element and attributes
- var result = serverResponse.responseXML.getElementsByTagstore("result");
- var message = result[0].getAttribute("tier");
- //check for message attribute and alert user
- //if(message)
- //alert(message);
- //build output to display on client for testing
- // get favorite elements
- var favorites = serverResponse.responseXML.getElementsByTagstore("favorite");
- for(var i = 0; i < favorites.length; i++) {
- var store = favorites[i].getAttribute("store");
- g_form.setValue(store);
- var tier = favorites[i].getAttribute("tier");
- //output += store + " = " + tier + "n";
- g_form.setValue(store,tier);
- }
- //g_form.setValue('number',output);
- //Script #2 HR PROFILE AJAX
- /*
- * HRProfileAjax script include Description - sample AJAX processor returning multiple value pairs
- */
- var HRProfileAjax = Class.create();
- HRProfileAjax.prototype = Object.extendsObject(global.AbstractAjaxProcessor, {
- /*
- * method available to client scripts call using:
- * var gajax = new GlideAjax("HRProfileAjax");
- * gajax.addParam("sysparm_store", "getFavorites");
- */
- getHRProfile : function() {
- // build new response xml element for result
- var result = this.newItem("result");
- var store = this.getParameter('store');
- var hrPro = new GlideRecord('x_hiring_gri_hr_storetier');
- hrPro.addQuery('store',store);
- hrPro.query();
- if(hrPro.next()){
- result.setAttribute("message", "returning all favorites");
- this._addFavorite("tier", hrPro.tier);
- }
- },
- _addFavorite : function(store, value) {
- var favs = this.newItem("favorite");
- favs.setAttribute("store", store);
- },
- type : "HRProfileAjax"
- });
Add Comment
Please, Sign In to add comment