0

On Account page, I have a Button which opens a VF page which creates Task record. When I click Edit button on the Task record to update it and click Save, it's redirecting to the Task record page on Desktop in both classic and lightning mode. However, when I am performing same action on Mobile, upon clicking on Save, it is giving me error. Page doesn't exist. Enter a valid URL and try again.

 public class Sim_NewTaskController {
  //private Task taskObjectParent;
    public Task taskObjectParent{get;set;}
    private Task tempTask;
    public String whoId{get;set;}
    public String whatId{get;set;}
    public String recordId{get;set;}
    public String retURL{get;set;}
    private String close;
    // these three variables will set when log a call button will clicked on activity history
    private String title;
    private String tsk5;
    private String followup;
    public String inputValue{get;set;}  
    public List<MultiSelect> avaiableContactlList {get;set;}
    public List<MultiSelect> avaiableGoalList {get;set;}
    public List<MultiSelect> avaiableTopicList {get;set;}
    public boolean isNAOProfile{get;set;}
    public Integer totalAvaiableGoal {get;set;}
    public Integer totalAvaiableTopic {get;set;}
    
    public List<SelectOption> avaiableOptionsContacts{get;set;}
    public String selectedContact{get;set;}
    public string searchstring {get;set;}
    //For SOS Profile
    //Set<String> setSOSAvlTopics = new Set<String>{'Account Maintenance', 'Co-Management','Material Request','Referral Process','Divisions','Events','Issue Resolution','New Provider'};

    public Sim_NewTaskController(ApexPages.StandardController stdController) {
        totalAvaiableGoal = 0;
        totalAvaiableTopic = 0;
        //this.taskObjectParent = (Task)stdController.getRecord();
        
        avaiableOptionsContacts = new List<SelectOption>();
        selectedContact = searchText = '';
        
        tempTask=new Task();
        taskObjectParent=new Task();
        whatId = ApexPages.currentPage().getParameters().get('what_id');
        whoId = ApexPages.currentPage().getParameters().get('who_id');
        recordId = ApexPages.currentPage().getParameters().get('id');
        close = ApexPages.currentPage().getParameters().get('close');
        retURL = ApexPages.currentPage().getParameters().get('retURL');
        
        title = ApexPages.currentPage().getParameters().get('title');
        tsk5 = ApexPages.currentPage().getParameters().get('tsk5');
        followup = ApexPages.currentPage().getParameters().get('followup');
        
        CheckProfile();
    }
    
    
    
    public void CheckProfile(){
        isNAOProfile=false;
        //If Logged in user prfile is NAO profile then replace picklist value like below
        //Get looged in user profile
        User objUser=[select profile.Name from user where id=:UserInfo.getUserId()];
        if(objUser!=null && objUser.profile.Name=='NAO Profile'){
            isNAOProfile=true;
        }
    }

    public void filterFields() {
        //Get Profile Name of logged in user
        string profileName=[select profile.Name from user where id=:UserInfo.getUserId()].profile.Name;
        System.debug('taskObjectParent.type------------'+taskObjectParent.type);

        
        avaiableGoalList = new List<MultiSelect>();
        avaiableTopicList = new List<MultiSelect>();
        if(taskObjectParent.type == 'Sports Medicine Phone Call' || taskObjectParent.type == 'Sports Medicine Visit') {    
            avaiableTopicList.add(new MultiSelect(false, '2 Day Athlete Guarantee', null));
            avaiableTopicList.add(new MultiSelect(false, 'Athletic Training Protocols', null));
            avaiableTopicList.add(new MultiSelect(false, 'Divisions', null));
            avaiableTopicList.add(new MultiSelect(false, 'Events', null));
            avaiableTopicList.add(new MultiSelect(false, 'Hospitals', null));
            avaiableTopicList.add(new MultiSelect(false, 'Issue Resolution', null));
            avaiableTopicList.add(new MultiSelect(false, 'Material Request', null));
            avaiableTopicList.add(new MultiSelect(false, 'Medical Coverage', null));
            avaiableTopicList.add(new MultiSelect(false, 'New Clinic', null));
            avaiableTopicList.add(new MultiSelect(false, 'New Physicians', null));
            avaiableTopicList.add(new MultiSelect(false, 'Quality Outcomes', null));
            avaiableTopicList.add(new MultiSelect(false, 'Referral Process', null));
            avaiableTopicList.add(new MultiSelect(false, 'Sports Injury Clinics', null));
            avaiableTopicList.add(new MultiSelect(false, 'Sponsorships', null));
            avaiableTopicList.add(new MultiSelect(false, 'Team Physicals', null));
            
            avaiableGoalList.add(new MultiSelect(false, 'Establishing New Relationships', null));
            avaiableGoalList.add(new MultiSelect(false, 'Maintaining Relationship', null));
            avaiableGoalList.add(new MultiSelect(false, 'Service Update', null));
        }
        
        
        
        
       
        
      
         
        if(taskObjectParent.type == 'E-mail or Fax' || taskObjectParent.type == 'Follow-Up' || taskObjectParent.type == 'Mailed Collateral/Document' || taskObjectParent.type == 'Office Staff Meeting' || taskObjectParent.type =='Outreach or CME Event' || taskObjectParent.type == 'Out of the Field' || taskObjectParent.type == 'Phone Call' || taskObjectParent.type == 'Unsuccessful Visit' ){
            

            avaiableTopicList.add(new MultiSelect(false, 'Account Maintenance', null));
            avaiableTopicList.add(new MultiSelect(false, 'Co-Management', null));
            avaiableTopicList.add(new MultiSelect(false, 'Material Request', null));
            avaiableTopicList.add(new MultiSelect(false, 'Referral Process', null));
            avaiableTopicList.add(new MultiSelect(false, 'Divisions', null));
            avaiableTopicList.add(new MultiSelect(false, 'Events', null));
            avaiableTopicList.add(new MultiSelect(false, 'Issue Resolution', null));
            avaiableTopicList.add(new MultiSelect(false, 'New Provider', null));
            avaiableTopicList.add(new MultiSelect(false, 'Urgent Ortho/Walk-In', null));
            
            
        }
        
        else {
                        
            avaiableTopicList.add(new MultiSelect(false, 'Account Maintenance', null));
            avaiableTopicList.add(new MultiSelect(false, 'Co-Management', null));
            avaiableTopicList.add(new MultiSelect(false, 'Material Request', null));
            avaiableTopicList.add(new MultiSelect(false, 'Referral Process', null));
            avaiableTopicList.add(new MultiSelect(false, 'Divisions', null));
            avaiableTopicList.add(new MultiSelect(false, 'Events', null));
            avaiableTopicList.add(new MultiSelect(false, 'Quality Outcomes', null));
            avaiableTopicList.add(new MultiSelect(false, 'Issue Resolution', null));
            avaiableTopicList.add(new MultiSelect(false, 'New Provider', null));
            avaiableTopicList.add(new MultiSelect(false, 'Urgent Ortho/Walk-In', null));



           /* if(profileName=='SOS Profile'){
                for(String st:setSOSAvlTopics){
                   avaiableTopicList.add(new MultiSelect(false, st, null)); 
                }
            }*/
            for( Schema.PicklistEntry f : Task.Goal_of_Activity__c.getDescribe().getPicklistValues()) {
                 if(isNAOProfile==true){
                    if(f.getValue()!='CORE Referral Manager Training'){
                        avaiableGoalList.add(new MultiSelect(false, f.getLabel(), null));
                    }
                 }
                 else{
                    avaiableGoalList.add(new MultiSelect(false, f.getLabel(), null));
                 }
            }
        }
        
        //For Goal
        system.debug(taskObjectParent.Id + ' =====> ' + taskObjectParent.Goal_of_Activity__c);
        if(string.isNotBlank(taskObjectParent.Goal_of_Activity__c)){
            for(MultiSelect goal : avaiableGoalList){
                for(string str:taskObjectParent.Goal_of_Activity__c.split(';')){
                    if(goal.Name == str.trim()){
                        goal.isChecked = true;
                    }
                }
            }
            totalAvaiableGoal = taskObjectParent.Goal_of_Activity__c.split(';').size();
        }
        
        system.debug('avaiableGoalList--111------------->' + avaiableGoalList);    

        /*if(isNAOProfile==true){
            avaiableTopicList = new List<MultiSelect>();
            avaiableTopicList.add(new MultiSelect(false, 'Account Maintenance', null));
            avaiableTopicList.add(new MultiSelect(false, 'Divisions', null));
            avaiableTopicList.add(new MultiSelect(false, 'Events', null));
            avaiableTopicList.add(new MultiSelect(false, 'Issue Resolution', null));
            avaiableTopicList.add(new MultiSelect(false, 'NAO Material Request', null));
            avaiableTopicList.add(new MultiSelect(false, 'New Clinic', null));
            avaiableTopicList.add(new MultiSelect(false, 'New Physician', null));
            avaiableTopicList.add(new MultiSelect(false, 'NAO Referral Process', null));
            avaiableTopicList.add(new MultiSelect(false, 'Quality Outcomes', null));
            avaiableTopicList.add(new MultiSelect(false, 'Urgent Ortho', null));
            
        }*/
        
        //For Topics        
        system.debug(taskObjectParent.Id + ' =====> ' + taskObjectParent.Topics_Discussed__c);
        if(string.isNotBlank(taskObjectParent.Topics_Discussed__c)){
            for(MultiSelect goal : avaiableTopicList){
                for(string str:taskObjectParent.Topics_Discussed__c.split(';')){
                    if(goal.Name == str.trim()){
                        goal.isChecked = true;
                    }
                }
            }
            totalAvaiableTopic = taskObjectParent.Topics_Discussed__c.split(';').size();
        }
        system.debug('avaiableTopicList--2222------------->' + avaiableTopicList);
        
    }
    
    
    // Task cannot be created from contact. Button hidden
    public PageReference loadNewTask(){
      try{
        
        taskObjectParent=new Task();
        //Assign default value
        taskObjectParent.ActivityDate=Date.Today();
        if(recordId != null){ 
          List<Task> taskList = [select whatId,whoId,ActivityDate ,Priority ,Status,
          Activity_Cost__c,OwnerId,Visit_Duration__c,Description,Goal_of_Activity__c ,
          Topics_Discussed__c,Subject, Type 
          from task where id=:recordId limit 1];
          
          if(taskList!= null && taskList.size()>0)
          {
            taskObjectParent=taskList[0];
            whatId = taskList[0].whatId;
            whoId = taskList[0].whoId;
            inputValue = taskList[0].Type;    
          }
        }
        if((whatId != null && !whatId.startsWith('001')) || (whoId!=null && !whoId.startsWith('003'))){
          PageReference refObject = new PageReference('/00T/e');
          refObject.getParameters().putAll(ApexPages.currentPage().getParameters());
          refObject.getParameters().put('nooverride', '1');
          refObject.setRedirect(true);
          return refObject;
        }else{
          
          avaiableContactlList = new List<MultiSelect>();
          filterFields();
          
          //We do not create task through contact 
          if(whatId != null && whatId.startsWith('001')){
            //get Account Id to fileter contact based on profile
            
            Set<string> setAccountId=new Set<string>();
            if(Test.isRunningTest()){
                setAccountId.add(whatId);  
            }
            string labelActId=Label.Core_Account_Id;
            if(isNAOProfile==true){
                 labelActId=Label.NAO_Account_Id;           
            } 
            if(string.isNotBlank(labelActId)){
                for(string st:labelActId.split(',')){
                    setAccountId.add(st);
                }
                for(Contact contactObject : [Select id,Name,Email, AccountId From Contact where  
                                 RecordType.Name='Internal Provider' AND Inactive__c = false  order by Name]){

                  avaiableContactlList.add(new MultiSelect(false, contactobject.Name, contactObject.Id));
                  avaiableOptionsContacts.add(new SelectOption(contactObject.Id, contactObject.Name));                  
                }
            }
            taskObjectParent.WhatId = whatId;
            taskObjectParent.OwnerId = Userinfo.getUserId();
          }
          if(close != null && close =='1'){
            taskObjectParent.Status = 'Completed';
          }
          // when task is created from log a call
          System.debug('title > '+ title + 'followup > '+ followup + 'tsk5 > '+ tsk5);
          if(title != null && title =='Referral Meeting' && followup !=null && followup == '1' && tsk5 != null && tsk5 == 'Referral Meeting'){
            taskObjectParent.Status = 'Completed';
            taskObjectParent.Type = title;
          }
          return null;
        }
        //return null;
      }catch(Exception e){
        ApexPages.addMessage(new ApexPages.message(ApexPages.severity.FATAL,e.getMessage()));
        return null;
      }
    }
    
    public String searchText{get;set;}
    public PageReference filterContacts(){
        for(MultiSelect option : avaiableContactlList){
            if(String.isBlank(searchText)){
                option.isDisplay = '';
                continue;
            }
            if(!option.Name.contains(searchText)){
                option.isDisplay = 'none';
            }               
         }
        return null;
    }
    
    
    
    
    
    
    
    
    
    
    // for all activity objectives except 'Physician to physician visit' contact is not required.
    public PageReference performSave(){
        System.debug('############');
      try{
        string retId=ApexPages.currentPage().getParameters().get('retURL');
        system.debug('retId------------>' + retId);
        system.debug('recordId------------>' + recordId);
        if(string.isBlank(retId)==null || retId==null){
          retId=recordId;
        }
        system.debug('retId111------------>' + retId);        
        if(string.isBlank(retId)){
            if(string.isNotblank(whatId)){
                retId=whatId;
            }
            if(string.isNotblank(whoId)){
                retId=whoId;
            }
        }
        system.debug('retId222------------>' + retId);
        //String retId = ApexPages.currentPage().getParameters().get('retURL');
        boolean isContactSelected = false;
        for(MultiSelect conObj : avaiableContactlList){
            if(conObj.isChecked){
                isContactSelected = true;
                break;
            }
        }
        List<Task> tasksToBeSaved = new List<Task>();
        if(recordId == null){             
              if((taskObjectParent.Type == 'Physician-to-Physician Visit' || taskObjectParent.Type == 'Unsuccessful Physician-to-Physician Visit' || taskObjectParent.Type == 'Sports Medicine Phone Call' ||  taskObjectParent.Type =='Sports Medicine Visit') && isContactSelected == true){
                for(MultiSelect conObj : avaiableContactlList){
                  if(conObj.isChecked){
                      Task taskObject = createTask(taskObjectParent,conObj.Value);

                      taskObject.Topics_Discussed__c = '';
                      taskObject.Goal_of_Activity__c = '';
                        
                      for(MultiSelect sltVal : avaiableTopicList){
                        if(sltVal.isChecked){
                            taskObject.Topics_Discussed__c += sltVal.Name + ';';
                        }
                      }
                      
                      for(MultiSelect sltVal : avaiableGoalList){
                        if(sltVal.isChecked){
                            taskObject.Goal_of_Activity__c += sltVal.Name + ';';
                        }
                      }
                       
                      tasksToBeSaved.add(taskObject);
                  }
                }
              }else{
                Task taskObject = createTask(taskObjectParent,null);
                
                taskObject.Topics_Discussed__c = '';
                taskObject.Goal_of_Activity__c = '';
                
                for(MultiSelect sltVal : avaiableTopicList){
                    if(sltVal.isChecked){
                        taskObject.Topics_Discussed__c += sltVal.Name + ';';
                    }
                }
                
                for(MultiSelect sltVal : avaiableGoalList){
                    if(sltVal.isChecked){
                        taskObject.Goal_of_Activity__c += sltVal.Name + ';';
                    }
                }
                
                tasksToBeSaved.add(taskObject);
              }
          
            
          system.debug(' >>>>>   ===    '+tasksToBeSaved);
          upsert tasksToBeSaved;
          
          system.debug(' >>>>> ------'+tasksToBeSaved);
          system.debug('retId44------------>' + retId);
          System.debug(' Current Url -- '+ApexPages.currentPage().getHeaders().get('Origin'));
          System.debug('  >  >>  > >> >  '+Apexpages.currentPage().getUrl());
          //PageReference pg = new PageReference('/'+ApexPages.currentPage().getParameters().get('retURL'));
          //PageReference pg = new PageReference('/'+retId);
          System.debug(' >>  > > >  299  = = =     '+retId);
          PageReference pg = new PageReference(retId);
         pg.setRedirect(true);
         return pg;
          //  return null;
        }else{
          
          
          if(((taskObjectParent.Type == 'Physician-to-Physician Visit' && inputValue != 'Physician-to-Physician Visit' ) ||  (taskObjectParent.Type == 'Sports Medicine Visit' && inputValue != 'Sports Medicine Visit') || (taskObjectParent.Type == 'Sports Medicine Phone Call' && inputValue != 'Sports Medicine Phone Call') ) && isContactSelected == true){
            for(MultiSelect conObj : avaiableContactlList){
                if(conObj.isChecked){
                   Task taskObject = createTask(taskObjectParent,conObj.Value);
                   
                   taskObject.Topics_Discussed__c = '';
                   taskObject.Goal_of_Activity__c = '';
                    
                    for(MultiSelect sltVal : avaiableTopicList){
                        if(sltVal.isChecked){
                            taskObject.Topics_Discussed__c += sltVal.Name + ';';
                        }
                    }
                    
                   for(MultiSelect sltVal : avaiableGoalList){
                        if(sltVal.isChecked){
                            taskObject.Goal_of_Activity__c += sltVal.Name + ';';
                        }
                    }
                   tasksToBeSaved.add(taskObject);
               }
            }
          }else{
            taskObjectParent.Subject = taskObjectParent.Type;

            taskObjectParent.Topics_Discussed__c = '';
            taskObjectParent.Goal_of_Activity__c = '';
            
            for(MultiSelect sltVal : avaiableTopicList){
                if(sltVal.isChecked){
                    taskObjectParent.Topics_Discussed__c += sltVal.Name + ';';
                }
            }
            
            for(MultiSelect sltVal : avaiableGoalList){
                if(sltVal.isChecked){
                    taskObjectParent.Goal_of_Activity__c += sltVal.Name + ';';
                }
            }
            
            upsert taskObjectParent;
          }
          
          System.debug('=:tasksToBeSaved:=' +tasksToBeSaved);
          if(!tasksToBeSaved.isEmpty()){
            upsert tasksToBeSaved;
          }
          
          //PageReference pg = new PageReference('/'+ApexPages.currentPage().getParameters().get('retURL'));
          //PageReference pg = new PageReference('/'+retId);
          PageReference pg = new PageReference(retId);
          System.debug(' >>  > > >  342 = = =     '+retId);
         pg.setRedirect(true);
         return pg;
             // return null;
        }
      }catch(Exception e){
        System.debug(e);
        return null;
      }
      //return null;
    }
    private Task createTask(Task taskObjectParent1,String contactIdStr){
        Task taskObject = new Task();
        if((taskObjectParent.Type == 'Physician-to-Physician Visit' && inputValue != 'Physician-to-Physician Visit') || (taskObjectParent.Type == 'Sports Medicine Visit' && inputValue != 'Sports Medicine Visit') || (taskObjectParent.Type == 'Sports Medicine Phone Call' && inputValue != 'Sports Medicine Phone Call')){
        }else{
          taskObject.Id = taskObjectParent1.Id; 
        }
        taskObject.Type = taskObjectParent1.Type;
        //taskObject.Subject = taskObjectParent1.Type;
        taskObject.whatId = taskObjectParent1.whatId;
        taskObject.whoId = contactIdStr;
        taskObject.OwnerId = taskObjectParent1.OwnerId;
        taskObject.Description = taskObjectParent1.Description;
        taskObject.ActivityDate = taskObjectParent1.ActivityDate;
        taskObject.Status = taskObjectParent1.Status;
        taskObject.Priority = taskObjectParent1.Priority;
        taskObject.Goal_of_Activity__c = taskObjectParent1.Goal_of_Activity__c;
        taskObject.Topics_Discussed__c = taskObjectParent1.Topics_Discussed__c;
        taskObject.Visit_Duration__c = taskObjectParent1.Visit_Duration__c;
        taskObject.Activity_Cost__c = taskObjectParent1.Activity_Cost__c;
        return taskObject;
    }
    //Wrapper class
    public class MultiSelect{
        public boolean isChecked{get;set;}
        public String Name{get;set;}
        public Id Value{get;set;}
        public String isDisplay{get;set;}
        public MultiSelect(boolean isChecked, String Name, Id Value){
            this.isChecked = isChecked;
            this.Name = Name;
            this.Value = Value;
            this.isDisplay = '';
        }
    }
}```

sameer
  • 1

1 Answers1

0

Visualforce page -

<apex:page standardController="Task" id="thePageId" extensions="Sim_NewTaskController" tabStyle="Task" action="{!loadNewTask}">
    <head>
        <meta name="viewport" content="width=320; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
    </head>
    <apex:includeScript value="/soap/ajax/32.0/apex.js"/>
    <apex:outPutPanel id="myMSG">
        <apex:pageMessages id="msg" />
    </apex:outPutPanel>
    
    <script>
    function setFocusOnLoad() {}
    
    
    function toggleComponent(taskType,componentToToggle,taskId){
        console.log('taskId : '+taskId);
        //filterFields();
        if(taskId == 'NULL' || taskId == ''){
            var contactComponent = document.getElementsByClassName(componentToToggle)[0];
            var selectedValue = taskType.value;
            console.log(componentToToggle);
            if(selectedValue == 'Physician-to-Physician Visit' || selectedValue == 'Unsuccessful Physician-to-Physician Visit' || selectedValue == 'Sports Medicine Visit' || selectedValue == 'Sports Medicine Phone Call'){
                contactComponent.style.display ='block';
                
            }else{
                contactComponent.style.display ='none';
            }
        }else{
            var contactComponent = document.getElementsByClassName(componentToToggle)[0];
            var selectedValue = taskType.value;
            console.log(componentToToggle);
            var oldTaskType =  String(document.getElementById('thePageId:newTaskPage:theHiddenInput').value);
            
            if((oldTaskType != 'Physician-to-Physician Visit' && selectedValue == 'Physician-to-Physician Visit') || (oldTaskType != 'Sports Medicine Visit' && selectedValue == 'Sports Medicine Visit') || (oldTaskType != 'Sports Medicine Phone Call' && selectedValue == 'Sports Medicine Phone Call') ){
                contactComponent.style.display ='block';
                
            }else{ 
                contactComponent.style.display ='none';
            }
        }
        //alert(taskType.value);
        filterFields(taskType.value);
    }
    
    function filterContactList(searchVal){
        var y = document.getElementsByClassName("contactRow");
        for (i = 0; i < y.length; i++) {
            var title = y[i].title.toUpperCase();
            if(title.search(searchVal.toUpperCase()) == 0){
                y[i].style.display = '';
            }else if(title.search(searchVal) == -1){
                y[i].style.display = 'none';
            }
        }
    }
    
    </script>  
    
    
    <style>
        <!-- .multilist{
float:left;
vertical-align:middle
}
.multilist p {  
padding: 0;
text-align: center;
white-space: normal;
width: 50px;
margin:0;
}
.multilist .btn{
margin-top:3px;
margin-left:10px;
margin-right:10px;
}
.label{
width:100%;
font-weight:bold;
float:left;
}
.relatedToSection{
float:left;
padding-left:13.5%;
}-->
        .searchTextBox::placeholder {
        font-style:italic;
        font-weight: bold;
        text-shadow: 0.5px 0px 0.5px #000000;
        opacity: 1;
        }
        .lookupInput {
        position: relative;
        }
        .lookupInput a, .lookupInput a:hover, .lookupInput a:focus {
        position: absolute;
        width: 30px !important;
        height: 30px !important;
        right: 0;
        top: -1px;
        border: 0 !important;
        background: transparent !important;
        padding: 0 !important;
        outline: none !important;
        box-shadow: none !important;
        }
        .custom-tooltip .slds-popover {
        display: none;
        }
        .custom-tooltip a:hover+.slds-popover {
        display: block;
        }
        @media (min-width:767px){
        select[multiple] {
        min-height: 101px !important;
        }
        }
    </style>
    <!-- immediate="true" -->
    <apex:slds />
    <apex:form id="newTaskPage">
        
        
        <apex:actionFunction action="{!filterFields}" name="filterFields" reRender="myMSG,taskInfo" >
            <apex:param value="" name="tType" />
        </apex:actionFunction>
        <apex:sectionHeader title="Task" subtitle="New Task"/>
        <apex:inputHidden value="{!inputValue}" id="theHiddenInput"/>
        <div class="slds-card">
            <div class="slds-card__header slds-grid slds-border_bottom slds-p-bottom_small" style="background-color: #fafaf9;">
                <div class="slds-media slds-media_center slds-has-flexi-truncate">
                    <div class="slds-media__body">
                        <h2 class="slds-card__header-title slds-text-heading_small">
                            Task Edit
                        </h2>
                    </div>
                    <div class="slds-no-flex">
                        <apex:commandButton action="{!performSave}" title="Save" value="Save" styleClass="slds-button slds-button_brand"/>
                        <apex:commandButton action="{!cancel}" title="Cancel" value="Cancel" styleClass="slds-button slds-button_neutral"/>
                    </div>
                </div>
            </div>
            <div class="slds-card__body slds-p-horizontal_small">
                <div class="slds-m-bottom_small slds-p-around_xx-small" style="background-color: #fafaf9;"><strong>Related To</strong></div> 
                <div class="slds-form slds-form_horizontal">
                    <div>
                        <div style="max-width: 600px;">
                            <apex:outputPanel styleClass="relatedToSection">
                                <div class="slds-form-element">
                                    <apex:outputLabel value="Account" styleClass="slds-form-element__label"/>
                                    <div class="slds-form-element__control slds-m-top_xxx-small">
                                        <apex:outputField value="{!taskObjectParent.WhatId}" title="This will contain Related Account" label="Account" />
                                    </div>
                                </div>
                                
                                
                                <!--apex:outputPanel ></apex:outputPanel-->
                                <!--  rendered="{!IF((taskObjectParent.Id = null),true,false)}"  -->
                                
                                
                                
                                
                                <apex:outputPanel style="display:none" styleclass="taskContactMultiList" id="contactPenal" >
                                    <apex:inputText styleClass="searchTextBox"  value="{!searchText}" onkeyup="filterContactList(this.value);"
                                                    style="box-shadow: -10px -2px 25px -8px rgba(158,150,158,1);background-color:#f2f2ff;font-weight: bold;font-size:100%;padding: 5px; color: black; width: 314px;height: 20px;margin-left: 33%;margin-bottom: 1px;" html-placeholder="Select Contacts"  >
                                    </apex:inputText> 
                                    <div class="slds-form-element">
                                        <apex:outputLabel value="Select Contact to create task" styleClass="slds-form-element__label" id="con12"/>
                                        <div class="slds-form-element__control"  style="padding-right: 82px;">
                                            <div class="slds-scrollable_y slds-m-top_x-small slds-m-bottom_small slds-p-around_x-small" style="max-height: 90px; border: 1px solid #dddbda; border-radius: .25rem;">
                                                <table>
                                                    <apex:repeat value="{!avaiableContactlList}" var="con" id="myTable">
                                                        <tr class="contactRow" title="{!con.Name}">
                                                            <td width="20" class="slds-p-bottom_x-small">
                                                                <span class="slds-checkbox slds-checkbox_standalone">
                                                                    <apex:inputCheckbox value="{!con.isChecked}" onclick="selectAllCheckboxes('contactCheckBoxId')"  id="contactCheckBoxId"/>
                                                                    <span class="slds-checkbox_faux"></span>
                                                                </span>
                                                            </td>
                                                            <td class="slds-p-bottom_x-small">
                                                                <label  >
                                                                    {!con.Name}
                                                                </label>
                                                            </td>
                                                        </tr>
                                                    </apex:repeat> 
                                                </table>
                                            </div>
                                            Total Number of Selected record :<span style="font-weight:bold" id="selContactSize">0</span>
                                        </div>
                                    </div>
                                    
                                </apex:outputPanel>
                                
                                <div class="slds-form-element">
                                    <apex:outputLabel value="Contact" styleClass="slds-form-element__label" rendered="{!IF((taskObjectParent.Id != null),IF(taskObjectParent.whoId == null,false,true),false)}"/>
                                    <div class="slds-form-element__control">
                                        <apex:outputField value="{!taskObjectParent.whoId}" title="this will contain related contact" label="Contact" rendered="{!IF((taskObjectParent.Id != null),IF(taskObjectParent.whoId == null,false,true),false)}"/>
                                    </div>
                                </div>
                            </apex:outputPanel>
                        </div>
                        <div class="slds-m-bottom_small slds-p-around_xx-small" style="background-color: #fafaf9;"><strong>Task Information</strong></div> 
                        <div id="taskInfo"  style="max-width: 600px;"> 
                            
                            <div class="slds-form-element"> 
                                <apex:outputLabel value="Activity Objective" styleClass="slds-form-element__label"/>
                                <div class="slds-form-element__control">
                                    
                                    <apex:inputField value="{!taskObjectParent.Type}" required="true"  onchange="toggleComponent(this,'taskContactMultiList','{!taskObjectParent.Type}');onChangeActMethod()" styleClass="slds-select" Id="st" >
                                        
                                        
                                    </apex:inputField>
                                    
                                    
                                    
                                    
                                    
                                    
                                    <apex:actionFunction name="onChangeActMethod" action="{!filterFields}" rerender="refreshing"/>
                                    
                                </div>
                            </div> 
                            
                            <div class="slds-form-element">
                                <apex:outputLabel value="Goal of Activity" styleClass="slds-form-element__label"/>
                                <div class="slds-form-element__control"  style="padding-right: 82px;">
                                    <div class="slds-scrollable_y slds-m-top_x-small slds-m-bottom_small slds-p-around_x-small" style="max-height: 90px; border: 1px solid #dddbda; border-radius: .25rem;">
                                        <table>
                                            <apex:repeat value="{!avaiableGoalList}" var="goal" >
                                                <tr>
                                                    <td width="20" class="slds-p-bottom_x-small">
                                                        <span class="slds-checkbox slds-checkbox_standalone">
                                                            <apex:inputCheckbox onclick="selectAllCheckboxes('goalCheckBoxId')" value="{!goal.isChecked}" id="goalCheckBoxId"/>
                                                            <span class="slds-checkbox_faux"></span>
                                                        </span>
                                                    </td>
                                                    <td class="slds-p-bottom_x-small">
                                                        <label>
                                                            {!goal.Name}
                                                        </label>
                                                    </td>
                                                </tr>
                                            </apex:repeat> 
                                        </table>
                                    </div>
                                    Total Number of Selected record :<span style="font-weight:bold" id="setGoalsLength">{!totalAvaiableGoal}</span>
                                </div>
                            </div>
                            
                            <div class="slds-form-element">
                                <apex:outputLabel value="Due Date" styleClass="slds-form-element__label"/>
                                <div class="slds-form-element__control"  style="padding-right: 82px;">
                                    <apex:inputField required="true" value="{!taskObjectParent.ActivityDate}" styleClass="slds-input"/>
                                </div>
                            </div>
                            <div class="slds-form-element">
                                <apex:outputLabel value="Priority" styleClass="slds-form-element__label"/>
                                <div class="slds-form-element__control">
                                    <apex:inputField value="{!taskObjectParent.Priority}" styleClass="slds-select"/>
                                </div>
                            </div>
                            <div class="slds-form-element">
                                <apex:outputLabel value="Status" styleClass="slds-form-element__label"/>
                                <div class="slds-form-element__control">
                                    <apex:inputField value="{!taskObjectParent.Status}" styleClass="slds-select"/>
                                </div>
                            </div>
                            <div class="slds-form-element">
                                <label class="slds-form-element__label">Activity Cost 
                                    <span class="custom-tooltip" style="position: relative;" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
                                        <a href="javascript:void(0)" aria-describedby="help">
                                            <span class="slds-icon_container slds-icon-utility-info">
                                                <svg class="slds-icon slds-icon slds-icon_xx-small slds-icon-text-default" aria-hidden="true">
                                                    <use xlink:href="{!URLFOR($Asset.SLDS, '/assets/icons/utility-sprite/svg/symbols.svg#info')}"></use>
                                                </svg>
                                                <span class="slds-assistive-text">Click here to learn more</span>
                                            </span>
                                        </a>
                                        <div class="slds-popover slds-popover_tooltip slds-nubbin_bottom-left" role="tooltip" id="help" style="position:absolute;bottom:25px;left:-15px; width: 200px;">
                                            <div class="slds-popover__body">
                                                Enter the cost of any gift or other expense for the activity               
                                            </div>
                                        </div>
                                    </span>
                                </label>
                                <div class="slds-form-element__control">
                                    <apex:inputField value="{!taskObjectParent.Activity_Cost__c}" styleClass="slds-input"/>
                                </div>
                            </div>
                            <div class="slds-form-element">
                                <apex:outputLabel value="Assigned To" styleClass="slds-form-element__label"/>
                                <div class="slds-form-element__control">
                                    <apex:inputField value="{!taskObjectParent.OwnerId}" styleClass="slds-input"/>
                                </div>
                            </div>
                            <div class="slds-form-element">
                                <apex:outputLabel value="Visit Duration" styleClass="slds-form-element__label"/>
                                <div class="slds-form-element__control">
                                    <apex:inputField value="{!taskObjectParent.Visit_Duration__c}" styleClass="slds-select" />
                                </div>
                            </div>
                            <div class="slds-form-element">
                                <apex:outputLabel value="Notes" styleClass="slds-form-element__label"/>
                                <div class="slds-form-element__control">
                                    <apex:inputField value="{!taskObjectParent.Description}" styleClass="slds-textarea"/>
                                </div>
                            </div>
                            
                            
                            
                            <div class="slds-form-element">
                                <apex:outputLabel value="Topics Discussed" styleClass="slds-form-element__label"/>
                                <apex:outputPanel id="refreshing">
                                    <div class="slds-form-element__control"  style="padding-right: 82px;">
                                        <div class="slds-scrollable_y slds-m-top_x-small slds-m-bottom_small slds-p-around_x-small" style="max-height: 90px; border: 1px solid #dddbda; border-radius: .25rem;">
                                            <table>
                                                
                                                <apex:repeat value="{!avaiableTopicList}" var="topic">
                                                    <tr>
                                                        <td width="20" class="slds-p-bottom_x-small">
                                                            <span class="slds-checkbox slds-checkbox_standalone">
                                                                <apex:inputCheckbox value="{!topic.isChecked}" onclick="selectAllCheckboxes('topicCheckBoxId')"  id="topicCheckBoxId"/>
                                                                <span class="slds-checkbox_faux"></span>
                                                            </span>
                                                        </td>
                                                        <td class="slds-p-bottom_x-small">
                                                            <label>
                                                                {!topic.Name}
                                                            </label>
                                                        </td>
                                                    </tr>
                                                </apex:repeat> 
                                            </table>
                                            
                                        </div>
                                        Total Number of Selected record :<span style="font-weight:bold" id="selTopicSize">{!totalAvaiableTopic}</span> 
                                    </div>
                                </apex:outputPanel>
                            </div>
                            
                        </div>
                    </div>
                    
                    
                </div> 
                
            </div>
            <div class="slds-card__footer slds-text-align_right">
                
                <apex:commandButton action="{!performSave}" title="Save" value="Save" styleClass="slds-button slds-button_brand" />
                <apex:commandButton action="{!cancel}" title="Cancel" value="Cancel" styleClass="slds-button slds-button_neutral"/> 
                <apex:commandButton action="{!edit}" title="Edit" value="{!URLFOR($Action.Task.Edit,recordId)}" styleClass="slds-button slds-button_neutral"/> 
                <!--<apex:outputLink value="{!URLFOR($Action.Task.Edit,recordId)}">Edit</apex:outputLink>-->
            </div>
        </div>
        <script>
        function selectAllCheckboxes(receivedInputID){
            var inputCheckBox = document.getElementsByTagName("input");
            var totalCount = 0;
            for(var i=0; i<inputCheckBox.length; i++){
                if(inputCheckBox[i].id.indexOf(receivedInputID)!=-1){
                    if(inputCheckBox[i].checked == true){
                        totalCount = totalCount + 1;
                    }
                }
            }
            
            //console.log('====>' + totalCount);
            if(receivedInputID=='contactCheckBoxId'){
                document.getElementById('selContactSize').innerHTML = totalCount;
            }else if(receivedInputID=='goalCheckBoxId'){
                document.getElementById('setGoalsLength').innerHTML = totalCount;
            }else if(receivedInputID=='topicCheckBoxId'){
                document.getElementById('selTopicSize').innerHTML = totalCount;
            }
            
        }
        
        /*window.onload  = ()=>{
            alert('hello');
        }*/
        
        //console.log({!whatId});
        function navigateTo() {
            
            //debugger;
            let data = '{!whatId}';
            console.log(data+'--'+text);
            if((typeof sforce != 'undefined') && sforce && (sforce.one)){
                // Salesforce1 navigation                 
                sforce.one.navigateToURL('https://www.google.com');
            } /*else {
                // Set the window's URL using a Visualforce expression
                window.location.href = location.origin + '/' + {!whatId};
                // site prefix helps when navigation in community
            }*/
        }
        </script>
        
    </apex:form>
</apex:page>
sameer
  • 1