jsn

Whre do I add these two function in teh source code

Discussion created by jsn on May 7, 2014
Latest reply on May 7, 2014 by jsn
Hi all

I have these two functions: function execute(searchText) and  function showResults(results).


 function execute(searchText) {
        //set the search text to find parameters
        findParams.searchText = searchText;
        findTask.execute(findParams, showResults);
      }

      function showResults(results) {
        //symbology for graphics
        var markerSymbol = new esri.symbol.SimpleMarkerSymbol(esri.symbol.SimpleMarkerSymbol.STYLE_SQUARE, 10, new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_SOLID, new dojo.Color([255, 0, 0]), 1), new dojo.Color([0, 255, 0, 0.25]));
        var lineSymbol = new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_DASH, new dojo.Color([255, 0, 0]), 1);
        var polygonSymbol = new esri.symbol.SimpleFillSymbol(esri.symbol.SimpleFillSymbol.STYLE_NONE, new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_DASHDOT, new dojo.Color([255, 0, 0]), 2), new dojo.Color([255, 255, 0, 0.25]));

        //find results return an array of findResult.
        map.graphics.clear();
        var dataForGrid = [];
        //Build an array of attribute information and add each found graphic to the map
        dojo.forEach(results, function(result) {
          var graphic = result.feature;
          dataForGrid.push([result.layerName, result.foundFieldName, result.value]);
          switch (graphic.geometry.type) {
          case "point":
            graphic.setSymbol(markerSymbol);
            break;
          case "polyline":
            graphic.setSymbol(lineSymbol);
            break;
          case "polygon":
            graphic.setSymbol(polygonSymbol);
            break;
          }
          map.graphics.add(graphic);
        });
        var data = {
          items: dataForGrid
        };
        var store = new dojo.data.ItemFileReadStore({
          data: data
        });
        grid.setStore(store);
      }




and I want to add them in these source code. Where exactly can  I add them?  Before dojo.ready(function() or inside?




<script type="text/javascript">
      dojo.require("utilities.App");
      dojo.require("dojo.on");
      dojo.require("templateConfig.commonConfig");
      dojo.require("esri.tasks.find");



      var i18n;

      
      dojo.ready(function(){


          i18n = dojo.i18n.getLocalization("esriTemplate", "template");


        var  defaults = {
        //The ID for the map from ArcGIS.com
            //    webmap: "f5b13dbed07c46cdb783cf361833aa6b",
            //
            //
            // WASD Web Map
         webmap: "d8536a2059654946a33487000b3adcc4",
        //     webmap: "c158034338ff4b55b1a4bde42fc2a289",
        //Modify this to point to your sharing service URL if you are using the portal
        //sharingurl: "http://www.arcgis.com", //for example: "http://www.arcgis.com",
        sharingurl: "http://mdc.maps.arcgis.com",
        //The id for the web mapping application item that contains configuration info - in most
        ////When editing you need to specify a proxyurl (see below) if the service is on a different domain
        //Specify a proxy url if you will be editing, using the elevation profile or have secure services or web maps that are not shared with everyone.
        proxyurl: "",
        //cases this will be null.
        appid: "",
        //set to true to display the title
        displaytitle: true,
        //Enter a title, if no title is specified, the webmap's title is used.
        title: "",
        //Enter a description for the application. This description will appear in the left pane
        //if no description is entered the webmap description will be used.
        description: "",
        //specify an owner for the app - used by the print option. The default value will be the web map's owner
        owner: '',
        //Specify a color theme for the app. Valid options are gray,blue,purple,green and orange
        theme: 'gray',
        //Optional tools - set to false to hide the tool
        //set to false to hide the zoom slider on the map
        displayslider: true,
        displaymeasure: true,
        displaybasemaps: true,
        displayoverviewmap: true,
        displayeditor: true,
        displaylegend: true,
        displaysearch: true,
        displaylayerlist: true,
        displaybookmarks: true,
        displaydetails: true,
        displaytimeslider: true,
        displayprint: true,
        displayprintlegend: false,
        displayeditortoolbar: false,
        displaymapwidgets:true,
        //i18n.viewer.main.scaleBarUnits,
        //The elevation tool uses the  measurement tool to draw the lines. So if this is set
        //to true then displaymeasure needs to be true too. NOTE: THis tool is deprecated and should no 
        //longer be used in the Basic Viewer. Use the new version of the template instead
        //https://github.com/Esri/elevation-profile-template
        displayelevation: false,
        //This option is used when the elevation chart is displayed to control what is displayed when users mouse over or touch the chart. When true, elevation gain/loss will be shown from the first location to the location under the cursor/finger.
        showelevationdifference: false,
        displayscalebar: true,
        displayshare: true,
        //Set to true to display the left panel on startup. The left panel can contain the legend, details and editor. Set to true to
        //hide left panel on initial startup. 2
        leftPanelVisibility: true,
        //If the webmap uses Bing Maps data, you will need to provide your Bing Maps Key
        bingmapskey: commonConfig.bingMapsKey,
        //Get the default map units
        units: commonConfig.units, 
        //specify a group in ArcGIS.com that contains the basemaps to display in the basemap gallery
        //example: title:'ArcGIS Online Basemaps' , owner:esri
        basemapgroup: {
          title: null,
          owner: null
        },
        //Enter the URL's to the geometry service, print task and geocode service. 
        helperServices: commonConfig.helperServices,
        //Set the label in the nls file for your browsers language
        printlayouts: [{
          layout: 'Letter ANSI A Landscape',
          label: i18n.tools.print.layouts.label1,
          format: 'PDF'
        }, {
          layout: 'Letter ANSI A Portrait',
          label: i18n.tools.print.layouts.label2,
          format: 'PDF'
        }, {
          layout: 'Letter ANSI A Landscape',
          label: i18n.tools.print.layouts.label3,
          format: 'PNG32'
        }, {
          layout: 'Letter ANSI A Portrait',
          label: i18n.tools.print.layouts.label4,
          format: 'PNG32'
        }],
        printlayout: false,
        printformat: "PNG32",
        //Specify the geocoder options. By default uses the geocoder widget with the default locators. If you specify a url value then that locator will be used.
        placefinder: {
          "url": "",
          "countryCode":"",
          "currentExtent":false,
          "placeholder": "",
          "singleLineFieldName":""
        },
        //when true locations searches use the current map extent. 
        searchextent: false,
        //Set link text and url parameters if you want to display clickable links in the upper right-corner
        //of the application.
        //ArcGIS.com. Enter link values for the link1 and link2 and text to add links. For example
        //url:'http://www.esri.com',text:'Esri'
        link1: {
          url: '',
          text: ''
        },
        link2: {
          url: '',
          text: ''
        },
        //specify the width of the panel that holds the editor, legend, details
        leftpanewidth: 228,
        //Restrict the map's extent to the initial extent of the web map. When true users
        //will not be able to pan/zoom outside the initial extent.
        constrainmapextent: false,
        //Provide an image and url for a logo that will be displayed as a clickable image
        //in the lower right corner of the map. If nothing is specified then the esri logo will appear.
        customlogo: {
          image: '',
          link: ''
        },
        //embed = true means the margins will be collapsed to just include the map no title or links
        embed: false
      };
        var supportsLocalization = true;
        var app = new utilities.App(defaults, supportsLocalization);

        dojo.on(app, "ready", function(config){



            initMap(config);


            //create find task with url to map service 
          
            findTask = new esri.tasks.FindTask("http://s096v088:6080/arcgis/rest/services/PumpStations/PumpStations/MapServer/");

            //create find parameters and define known values 
            findParams = new esri.tasks.FindParameters();
            findParams.returnGeometry = true;
            findParams.layerIds = [0];
            findParams.searchFields = ["PUMPSTANUM"];
            //set the search text to find parameters 
            findParams.searchText = "0010"; 
           // findTask.execute(findParams, showResults); 




         
        });

      });

    </script>

Outcomes