Sunday 21 September 2014

Change background color in visualforce page.

Now we create a color picker in visualforce page.Which is help to change the background color of visualforce page.

<apex:page showHeader="false">

  <script>
      function changeColor(inputID){
              var inputValue = document.getElementById(inputID).value;
              return ( document.body.style.backgroundColor =[document.getElementById(inputID).value]);
      }
      function focus(){
              j$("[id$=loading-curtain-div]").css("background-color", "blue").css("opacity", 0.35);
      }
  </script>

      <style>
             .ash_gray{ background-color:#666362; color:white;  }
      </style>

     <apex:sectionHeader title="Color codes" subtitle="Pick Color">
         </apex:sectionHeader>      
       
           <apex:pageBlock >
               <apex:form id="myform" >
                  <div id="loading-curtain-div"/>
                     <apex:pageBlockSection columns="2" id="mypageblockSection">
                         <apex:outputText value="Ash Gray:" style="font-size:15px;"/>
                              <apex:commandButton id="cmd1" onclick="changeColor('{!$Component.cmd1}')" onmouseout="focus();"  reRender="myform" value="#666362" style="background:#666362;width:80px" />
                         <apex:outputText value="Slate Bliue:" style="font-size:15px;"/>
                              <apex:commandButton id="cmd2" onclick="changeColor('{!$Component.cmd2}')" reRender="myform" value="#737CA1" style="background:#737CA1;width:80px" />
                         <apex:outputText value="Blue Jay:" style="font-size:15px;"/>
                              <apex:commandButton id="cmd3" onclick="changeColor('{!$Component.cmd3}')" reRender="myform" value="#2B547E" style="background:#2B547E;width:80px"/>
                         <apex:outputText value="Blue Hosta:" style="font-size:15px"/>
                              <apex:commandButton id="cmd4" onclick="changeColor('{!$Component.cmd4}')" reRender="myform" value="#77BFC7" style="background:#77BFC7;width:80px"/>      
                         <apex:outputText value="Light Sea Green:" style="font-size:15px "/>
                              <apex:commandButton id="cmd5" onclick="changeColor('{!$Component.cmd5}')" reRender="myform" value="#3EA99F" style="background:#3EA99F; width:80px"/>
                         <apex:outputText value="Dark Turquoise:" style="font-size:15px"/>
                              <apex:commandButton id="cmd6" onclick="changeColor('{!$Component.cmd6}')" reRender="myform" value="#3B9C9C" style="background:#3B9C9C;width:80px"/>
                         <apex:outputText value="Sea Turtle Green:" style="font-size:15px"/>
                              <apex:commandButton id="cmd7" onclick="changeColor('{!$Component.cmd7}')" reRender="myform" value="#438D80" style="background:#438D80;width:80px"/>
                         <apex:outputText value="Coffee:" style="font-size:15px;"/>
                              <apex:commandButton id="cmd8" onclick="changeColor('{!$Component.cmd8}')" reRender="myform" value="#827B60" style="background:#827B60;width:80px"/>
                         <apex:outputText value="Plum Purple:" style="font-size:15px"/>
                              <apex:commandButton id="cmd9" onclick="changeColor('{!$Component.cmd9}')" reRender="myform" value="#6F4E37" style="background:#6F4E37;width:80px"/>
                         <apex:outputText value="Plum Velvet:" style="font-size:15px"/>
                              <apex:commandButton id="cmd10" onclick="changeColor('{!$Component.cmd10}')" reRender="myform" value="#7D0552" style="background:#7D0552;width:80px"/>
                         <apex:outputText value="Army Brown:" style="font-size:15px"/>
                               <apex:commandButton id="cmd11" onclick="changeColor('{!$Component.cmd11}')" reRender="myform" value="#5E5A80" style="background:#5E5A80;width:80px"/>
                         <apex:outputText value="Plum Purple:" style="font-size:15px"/>
                               <apex:commandButton id="cmd12" onclick="changeColor('{!$Component.cmd12}')" reRender="myform" value="#583759" style="background:#583759;width:80px"/>
             </apex:pageBlockSection>
         </apex:form>
    </apex:pageBlock>
 
</apex:page>

How to Print The Current Visualforec Page with the help of JavaScript.

There is a method name is Window.print() in JavaScript.
The print() method opens the Print Dialog Box, which lets the user to select preferred printing options.

So, In visualforce page we use this method in commandButton's onclick attribute.


<apex:commandButton onclick="window.print()" value="Print"/>


Simple and after clicking on Print button the print method prints the contents of the current Visualforce page.

Custom Exception in Salesforce

public class CustomExceptionClass {
   
// define custom exception with extend the built-in Exception class
// And make sure your class name ends with the word Exception,
// else you get Compile Error: Invalid type

class MyException extends Exception{

    //Override the getMessage method of Exception class to show you custom Error
  override public String getMessage(){
  return 'The Show is HouseFull, No more Tickets are available';
  }

}

// declare custom exception variable
        MyException myExceptionVar = null;
   
 //Constractor of OuterClass
        public CustomExceptionClass(){
            // create object of Custom Exception class
            myExceptionVar = new MyException();

        }

        Integer TotalTickets = 5; // define some custom limit for error condition
 // Define some person name who booked ticket
        List<String> PersonName = new String[]{'Harry','Ron','Hermione'};  

        public Boolean addPerson(String newPersonName){ // Add another person
            Boolean TicketBooked = false;
         
            //use try Catch for Exception
            try{  
                    //Check the List
            if(PersonName.size() >= TotalTickets) // If return True then throw Exception
           throw myExceptionVar;
                    // Throw Exception it'll show the error which we written in getMessage
               
                else //Else Add the Person name
                PersonName.add(newPersonName);

                TicketBooked = true;

            }
            //Catch block
            catch(Exception e){
                TicketBooked = false;
                System.debug('we are in catch block');
                System.debug(e.getMessage());
            }
            finally{
             
                if(TicketBooked)
                System.debug('Ticket Booked successfully');
                else
                System.debug('Booking failed');
               }
               return TicketBooked ;

        }
}


// Execute Following

CustomExceptionClass a = new CustomExceptionClass();
//Current list size is 3  ('Harry','Ron','Hermione') and limit is 5 so we can add two more

a.addPerson('Viru'); // Ticket Booked Successfully
a.addPerson('Emma'); // Ticket booked Successfully

//current list size id 5  and limit is 5 so we are not good
a.addPerson('Draco');  //Booking failed