home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1997 May / Pcwk0597.iso / borland / ib / setups / intrabld / data.z / EVENTS.JFM < prev    next >
Text File  |  1996-12-11  |  14KB  |  517 lines

  1. /****************************************************************************\
  2. *                                                                            *
  3. * Events.jfm  --  Contact Manager Entry Form                                 *
  4. *                                                                            *
  5. * Events.jfm is part of the Contact Manager solution application. It is one  *
  6. * of two data entry forms the user encounters.  In this form, the user can   *
  7. * track calls they have made to customers and what they have spoken about.   *
  8. * All calls that are logged are recorded in a Microsoft Access database      *
  9. * called CONTACTS inside of the table called EVENTS.                         *
  10. *                                                                            *
  11. * The Events.jfm forms also allows the user to navigate to two different     *
  12. * reports, which show contacts made to customers, by using the REPORT BY     *
  13. * graphic located on the form.                                               *
  14. *                                                                            *
  15. * In addition, the user can FILTER-BY-FORM for particular records in the     *
  16. * EVENTS table by clicking on the SEARCH FOR graphic on the form.            *
  17. *                                                                            *
  18. * Dependencies:  bkgnd.gif                                                   *
  19. *                eventlog.gif                                                *
  20. *                start.gif                                                   *
  21. *                stop.gif                                                    * 
  22. *                logo.gif                                                    *
  23. *                barsep.gif                                                  *
  24. *                recnav.gif                                                  *
  25. *                rptnav.gif                                                  *
  26. *                homenav.gif                                                 *
  27. *                srchnav.gif                                                 *
  28. *                srchnav2.gif                                                *
  29. *                                                                            *
  30. * Links to:      svr/intrasrv.isv?apps/contacts/events1.jrp                  *
  31. *                svr/intrasrv.isv?apps/contacts/events2.jrp                  *
  32. *                ibapps/contacts/index.htm                                   *  
  33. *                                                                            *
  34. * Copyright (c) 1996, Borland International, Inc. All rights reserved.       *
  35. *                                                                            *
  36. \****************************************************************************/
  37. // {End Header} Do not remove this comment//
  38. // Generated on 11/12/96
  39. //
  40. var f = new eventsForm();
  41. f.open();
  42. class eventsForm extends Form {
  43.    with (this) {
  44.       onServerLoad = class::Form_onServerLoad;
  45.       color = "white";
  46.       height = 13.6667;
  47.       left = 0;
  48.       top = 0;
  49.       width = 70;
  50.       title = "Events Log";
  51.       background = "filename bkgnd.gif";
  52.    }
  53.  
  54.  
  55.    with (this.contactdb = new Database()){
  56.       left = 64;
  57.       top = 0;
  58.       databaseName = "CONTACTS";
  59.       active = true;
  60.    }
  61.  
  62.  
  63.    with (this.peopleQuery = new Query()){
  64.       left = 64;
  65.       top = 3;
  66.       database = parent.contactdb;
  67.       sql = "Select * From People";
  68.  
  69.       active = true;
  70.    }
  71.  
  72.  
  73.    with (this.peopleQuery.rowset) {
  74.  
  75.    }
  76.  
  77.  
  78.    with (this.callTypes = new Query()){
  79.       left = 64;
  80.       top = 2;
  81.       database = parent.contactdb;
  82.       sql = "Select * from Types";
  83.  
  84.       active = true;
  85.    }
  86.  
  87.  
  88.    with (this.callTypes.rowset) {
  89.  
  90.    }
  91.  
  92.  
  93.    with (this.events1 = new Query()){
  94.       left = 64;
  95.       top = 1;
  96.       database = parent.contactdb;
  97.       sql = "SELECT * FROM Events";
  98.  
  99.       active = true;
  100.    }
  101.  
  102.  
  103.    with (this.events1.rowset) {
  104.  
  105.    }
  106.  
  107.  
  108.    with (this.contbyLabel = new HTML(this)){
  109.       height = 1;
  110.       top = 8;
  111.       width = 20;
  112.       color = "blue";
  113.       text = "Contacted By:";
  114.    }
  115.  
  116.  
  117.    with (this.callnotesLabel = new HTML(this)){
  118.       height = 1;
  119.       top = 13;
  120.       width = 25;
  121.       color = "blue";
  122.       text = "Call Notes:";
  123.    }
  124.  
  125.  
  126.    with (this.textArea1 = new TextArea(this)){
  127.       onFocus = class::textArea1_onFocus;
  128.       height = 4;
  129.       top = 14;
  130.       width = 58;
  131.       dataLink = parent.events1.rowset.fields["DESCRIPTION"];
  132.    }
  133.  
  134.  
  135.    with (this.typeofcontactLabel = new HTML(this)){
  136.       height = 1;
  137.       left = 30;
  138.       top = 11;
  139.       width = 30;
  140.       fixed = true;
  141.       color = "blue";
  142.       text = "Type of Contact:";
  143.    }
  144.  
  145.  
  146.    with (this.eventlogImage = new Image(this)){
  147.       height = 1.9167;
  148.       top = 5;
  149.       width = 18.375;
  150.       dataSource = "filename EVENTLOG.GIF";
  151.       alignment = 4;
  152.    }
  153.  
  154.  
  155.    with (this.NavBar = new Image(this)){
  156.       onImageServerClick = class::NavBar_onImageServerClick;
  157.       height = 1.0417;
  158.       top = 20;
  159.       width = 23.5;
  160.       dataSource = "filename RECNAV.GIF";
  161.       alignment = 4;
  162.    }
  163.  
  164.  
  165.    with (this.TypeOfContact = new Select(this)){
  166.       left = 30;
  167.       top = 12;
  168.       width = 30;
  169.       dataLink = parent.events1.rowset.fields["CONTTYPE"];
  170.    }
  171.  
  172.  
  173.    with (this.ContactedBy = new Select(this)){
  174.       top = 12;
  175.       width = 25;
  176.       dataLink = parent.events1.rowset.fields["CONTNAME"];
  177.    }
  178.  
  179.  
  180.    with (this.barsepImage1 = new Image(this)){
  181.       height = 0.4167;
  182.       top = 7;
  183.       width = 62.5;
  184.       dataSource = "filename BARSEP.GIF";
  185.       alignment = 4;
  186.    }
  187.  
  188.  
  189.    with (this.barsepImage2 = new Image(this)){
  190.       height = 0.4167;
  191.       top = 19;
  192.       width = 62.5;
  193.       dataSource = "filename BARSEP.GIF";
  194.       alignment = 4;
  195.    }
  196.  
  197.  
  198.    with (this.starttimeLabel = new HTML(this)){
  199.       height = 1;
  200.       left = 24;
  201.       top = 8;
  202.       width = 14;
  203.       fixed = true;
  204.       color = "blue";
  205.       text = "Start Time:";
  206.    }
  207.  
  208.  
  209.    with (this.Contstart = new Text(this)){
  210.       left = 24;
  211.       top = 9;
  212.       width = 14;
  213.       dataLink = parent.events1.rowset.fields["CONTSTART"];
  214.    }
  215.  
  216.  
  217.    with (this.Contend = new Text(this)){
  218.       left = 44;
  219.       top = 9;
  220.       width = 14;
  221.       dataLink = parent.events1.rowset.fields["CONTEND"];
  222.    }
  223.  
  224.  
  225.    with (this.endtimeLabel = new HTML(this)){
  226.       height = 1;
  227.       left = 44;
  228.       top = 8;
  229.       width = 14;
  230.       fixed = true;
  231.       color = "blue";
  232.       text = "End Time:";
  233.    }
  234.  
  235.  
  236.    with (this.customerNameLabel = new HTML(this)){
  237.       height = 1;
  238.       top = 11;
  239.       width = 25;
  240.       color = "blue";
  241.       text = "Customer Name:";
  242.    }
  243.  
  244.  
  245.    with (this.NavRpt = new Image(this)){
  246.       onImageServerClick = class::NavRpt_onImageServerClick;
  247.       height = 1.0417;
  248.       left = 28;
  249.       top = 20;
  250.       width = 16.375;
  251.       dataSource = "filename RPTNAV.GIF";
  252.       alignment = 4;
  253.    }
  254.  
  255.  
  256.    with (this.NavHome = new Image(this)){
  257.       onImageClick = class::NavHome_onImageClick;
  258.       height = 1.0833;
  259.       left = 59.25;
  260.       top = 5.7917;
  261.       width = 3.25;
  262.       dataSource = "filename HOMENAV.GIF";
  263.       alignment = 4;
  264.    }
  265.  
  266.  
  267.    with (this.ContBy = new Text(this)){
  268.       top = 9;
  269.       width = 20;
  270.       dataLink = parent.events1.rowset.fields["CONTBY"];
  271.    }
  272.  
  273.  
  274.    with (this.NavSrch1 = new Image(this)){
  275.       onDesignLoad = class::NavSrch1_onDesignLoad;
  276.       onImageServerClick = class::NavSrch1_onImageServerClick;
  277.       height = 1.0417;
  278.       left = 54;
  279.       top = 20;
  280.       width = 8.375;
  281.       dataSource = "filename SRCHNAV.GIF";
  282.       alignment = 4;
  283.    }
  284.  
  285.  
  286.    with (this.NavSrch2 = new Image(this)){
  287.       onServerLoad = class::NavSrch2_onServerLoad;
  288.       onImageServerClick = class::NavSrch2_onImageServerClick;
  289.       height = 1.0417;
  290.       left = 46;
  291.       top = 21;
  292.       width = 16.5;
  293.       dataSource = "filename SRCHNAV2.GIF";
  294.       alignment = 4;
  295.    }
  296.  
  297.  
  298.    with (this.startImage = new Image(this)){
  299.       onImageServerClick = class::startImage_onImageServerClick;
  300.       height = 0.5833;
  301.       left = 24;
  302.       top = 10;
  303.       width = 6.125;
  304.       dataSource = "filename START.GIF";
  305.       alignment = 4;
  306.    }
  307.  
  308.  
  309.    with (this.stopImage = new Image(this)){
  310.       onImageServerClick = class::stopImage_onImageServerClick;
  311.       height = 0.5833;
  312.       left = 44;
  313.       top = 10;
  314.       width = 6.125;
  315.       dataSource = "filename STOP.GIF";
  316.       alignment = 4;
  317.    }
  318.  
  319.  
  320.    with (this.logoImage = new Image(this)){
  321.       height = 5;
  322.       width = 62.625;
  323.       dataSource = "filename LOGO.GIF";
  324.       alignment = 4;
  325.    }
  326.  
  327.    this.rowset = this.events1.rowset;
  328.  
  329.    function Form_onServerLoad()
  330.    {
  331.      // Make sure the user doesn't see NavSrch2 yet
  332.      this.NavSrch2.visible = false;
  333.      // Fill in the "Contacted Person" combo-box
  334.      this.contactPeople = new Array();
  335.      while (!form.peopleQuery.rowset.endOfSet)
  336.      {
  337.        var fullName = form.peopleQuery.rowset.fields["FName"].value + " " +
  338.          form.peopleQuery.rowset.fields["LName"].value;
  339.        form.contactPeople.add(fullName);
  340.        form.peopleQuery.rowset.next();
  341.      }
  342.      form.ContactedBy.options = "array form.contactPeople";
  343.      // Are we filtering or not?
  344.      if (form.rowset.state == 4)
  345.      {
  346.        form.ContactedBy.value = "";
  347.      }
  348.      else
  349.      {
  350.        form.ContactedBy.value = form.rowset.fields["ContName"].value;
  351.      }
  352.      // Fill in the "Type of Contact" combo-box
  353.      this.callTypesArray = new Array();
  354.      while (!form.callTypes.rowset.endOfSet)
  355.      {
  356.        form.callTypesArray.add(form.callTypes.rowset.fields["Type"].value);
  357.        form.callTypes.rowset.next();
  358.      }
  359.      form.TypeOfContact.options = "array form.callTypesArray";
  360.      // Are we filtering or not?
  361.      if (form.rowset.state == 4)
  362.      {
  363.        form.TypeOfContact.value = "";
  364.      }
  365.      else
  366.      {
  367.        form.TypeOfContact.value = form.rowset.fields["ContType"].value;
  368.      }
  369.    }
  370.  
  371.    function NavBar_onImageServerClick(nLeft, nTop)
  372.    {
  373.      if (nLeft >= 0 && nLeft <= 25)
  374.      {
  375.        // The user clicked "First"
  376.        form.rowset.first();
  377.      }
  378.      else if (nLeft >= 27 && nLeft <= 52)
  379.      {
  380.        // The user clicked "Previous"
  381.        if (!form.rowset.next(-1))
  382.          form.rowset.next();
  383.      }
  384.      else if (nLeft >= 54 && nLeft <= 79)
  385.      {
  386.        // The user clicked "Next"
  387.        if (!form.rowset.next())
  388.        {
  389.          form.rowset.next(-1);
  390.          form.rowset.beginAppend();
  391.          form.TypeOfContact.value = "";
  392.          form.ContactedBy.value = "";
  393.        }
  394.      }
  395.      else if (nLeft >= 81 && nLeft <= 106)
  396.      {
  397.        // The user clicked "Last"
  398.        form.rowset.last();
  399.      }
  400.      else if (nLeft >= 108 && nLeft <= 133)
  401.      {
  402.        // The user clicked "Add"
  403.        form.rowset.beginAppend();
  404.      }
  405.      else if (nLeft >= 135 && nLeft <= 160)
  406.      {
  407.        // The user clicked "Save" (the floppy disk image)
  408.        var state = form.rowset.state;
  409.        form.rowset.save();
  410.        if (state == 3) {
  411.           form.rowset.parent.requery();
  412.           form.rowset.last();
  413.        }
  414.      }
  415.      else if (nLeft >= 162 && nLeft <= 188)
  416.      {
  417.        // The user clicked "Delete" (the big red X image)
  418.        form.rowset.delete();
  419.      }
  420.    }
  421.  
  422.    function NavHome_onImageClick(nLeft, nTop)
  423.    {
  424.      // The user clicked "Home" (the little blue house image)
  425.      location.href = "/ibapps/contacts/index.htm";
  426.    }
  427.  
  428.    function NavRpt_onImageServerClick(nLeft, nTop)
  429.    {
  430.      if (nLeft >= 0 && nLeft <= 93)
  431.      {
  432.        // The user clicked "Type" on the "Report By" image
  433.        _sys.reports.run( "events1.jrp");
  434.      }
  435.      else if (nLeft >= 95 && nLeft <= 188)
  436.      {
  437.        // The user clicked "Person" on the "Report By" image
  438.        _sys.reports.run( _sys.env.home() + "apps\\contacts\\events2.jrp");
  439.      }
  440.    }
  441.  
  442.    function NavSrch1_onImageServerClick(nLeft, nTop)
  443.    {
  444.       with(this)
  445.       {
  446.          // Make this graphic invisible
  447.          visible = false;
  448.          // Make the search options graphic visible
  449.          form.NavSrch2.visible = true;
  450.          // Start the filter process
  451.          form.rowset.beginFilter();
  452.       }
  453.    }
  454.  
  455.    function NavSrch2_onImageServerClick(nLeft, nTop)
  456.    {
  457.      if (nLeft >= 0 && nLeft <= 64)
  458.      {
  459.        // The user clicked "Find Now", so apply the filter
  460.        form.rowset.applyFilter();
  461.      }
  462.      else if (nLeft >= 66 && nLeft <= 131)
  463.      {
  464.        // The user clicked "CANCEL" so hide this graphic,
  465.        // unhide the "Search for Events" graphic, remove the
  466.        // filter from the rowset and place the user back at
  467.        // the first record in the database.
  468.        this.visible = false;
  469.        form.NavSrch1.visible = true;
  470.        form.rowset.clearFilter();
  471.        form.rowset.first();
  472.      }
  473.    }
  474.  
  475.    function NavSrch2_onServerLoad()
  476.    {
  477.      // Move it up on the form
  478.      this.top -= 1;
  479.    }
  480.  
  481.    function NavSrch1_onDesignLoad()
  482.    {
  483.      // Make sure this image is visible at design time
  484.      this.visible = true;
  485.    }
  486.  
  487.    function startImage_onImageServerClick(nLeft, nTop)
  488.    {
  489.      // Make the "CONTSTART" field the current date/time
  490.      var state = form.events1.rowset.state;
  491.      form.events1.rowset.fields["CONTSTART"].value = new Date();
  492.      form.events1.rowset.save();
  493.      if (state == 3) {
  494.         form.events1.requery();
  495.         form.events1.rowset.last();
  496.      }
  497.    }
  498.  
  499.    function stopImage_onImageServerClick(nLeft, nTop)
  500.    {
  501.      // Make the "CONTEND" field the current date/time
  502.      var state = form.events1.rowset.state;
  503.      form.events1.rowset.fields["CONTEND"].value = new Date();
  504.      form.events1.rowset.save();
  505.      if (state == 3) {
  506.         form.events1.requery();
  507.         form.events1.rowset.last();
  508.      }
  509.    }
  510.  
  511.    function textArea1_onFocus()
  512.    { 
  513.       window.status = "Enter your comments about the current event here."
  514.    }
  515. }
  516.  
  517.