Viewing file: f4254ebd6df7551c82d271356032e878.php (129.43 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<!DOCTYPE html> <?php $siteDirection = isset(json_decode(get_settings('local_setting'))->direction) ? json_decode(get_settings('local_setting'))->direction : 'ltr'; ?> <html lang="en" dir="<?php echo e($siteDirection); ?>">
<head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="x-ua-compatible" content="ie=edge"> <title><?php echo e(trans('Chats')); ?></title>
<link rel="stylesheet" href="<?php echo e(asset('plugins/fontawesome-free/css/all.min.css')); ?>"> <link rel="stylesheet" href="<?php echo e(asset('plugins/toastr/toastr.min.css')); ?>"> <link rel="stylesheet" href="<?php echo e(asset('css/adminlte.min.css')); ?>"> <link rel="stylesheet" href="<?php echo e(asset('css/custom.css')); ?>"> <link rel="stylesheet" href="<?php echo e(asset('plugins/datatables-bs4/css/dataTables.bootstrap4.min.css')); ?>"> <link rel="stylesheet" href="<?php echo e(asset('plugins/datatables-responsive/css/responsive.bootstrap4.min.css')); ?>"> <link rel="stylesheet" href="<?php echo e(asset('plugins/select2/css/select2.min.css')); ?>"> <link rel="stylesheet" href="<?php echo e(asset('plugins/daterangepicker/daterangepicker.css')); ?>"> <link rel="stylesheet" href="<?php echo e(asset('css/chat.css')); ?>"> <link rel="stylesheet" href="<?php echo e(asset('plugins/select2/css/select2.min.css')); ?>"> <link href="<?php echo e(asset('emoji/css/emoji.css')); ?>" rel="stylesheet"> <?php if(get_settings('app_favicon')): ?> <link rel="shortcut icon" href="<?php echo e(asset('uploads/'.get_settings('app_favicon'))); ?>" type="image/x-icon"> <?php endif; ?>
<link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,400i,700" rel="stylesheet"> <link href="https://fonts.googleapis.com/css2?family=Dancing+Script:wght@500&family=Montserrat:wght@200&display=swap" rel="stylesheet"> </head> <style> .scrollable-one{ height: 100vh; } .chat-content-wrapper { background: #ffffff url('<?php echo e(asset('images/message-bg-img.jpg')); ?>'); background-size: contain; background-position: center; } .chat-content-wrapper::before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(239, 234, 226, 0.7); } .chat-main-content-section { display: flex; flex-direction: column; height: 100vh; border: 1px solid #e1e1e1; padding: 0px; } .custom-chat-section-bg-color{ background: #ffffff url('<?php echo e(asset('images/message-bg-img.jpg')); ?>'); background-size: contain; background-position: center; } .custom-chat-section-bg-color::before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(239, 234, 226, 0.7); } .un-read-message-sec{ position: relative; } .un-read-message-sec .filter-head-value{ position: absolute; background-color: #5B73E8; padding: 0px 5px; top: -5px; font-size: 10px; border-radius: 50px; right: -5px; color: #fff; } .message-body-section .con-name{ font-size: 13px; } .dlt-arcv-message-section{ position: relative; } .dlt-arcv-message-section .filter-head-value{ position: absolute; background-color: #5B73E8; color: #fff; padding: 0px 5px; top: -5px; font-size: 10px; border-radius: 50px; right: -5px; } @media (min-width: 768px) and (max-width: 991.98px) { .tab-gap{ gap: 10px; } } /* .row.no-gutters{ justify-content: end; } .row.no-gutters .offset-md-8{ margin-left: 0 !important; } */ .row.no-gutters .chat-bubble.chat-bubble--right{ word-wrap: break-word; overflow-wrap: break-word; white-space: normal; } .attact-icon .choose_file { margin-right: 0px; } .emoji-picker-icon { margin-top: 5px !important; right: 60px !important; } </style> <body> <div class="container-fluid" id="wrapper"> <div class="row"> <div class="col-md-4 col-xl-4 col-sm-4 p-0"> <div class="chat-content-section"> <div class="chat-header-top-content"> <div class="message-title-section align-items-center row justify-content-between tab-gap">
<div class="col-lg-1 col-md-2"> <?php if(auth('customer')->user()->type !='staff'): ?> <div class="send-new-message-pop-up"> <button type="button" id="send-new-message-pop-up-button" data-toggle="tooltip" data-placement="top" title="New Message" class="btn btn-primary btn-sm send-new-message-pop-up-btn"><i class="fa fa-paper-plane" aria-hidden="true"></i> </button> </div> <?php endif; ?> </div> <div class="col-lg-7 col-md-9">
<?php if(auth('customer')->user()->type!='staff'): ?>
<div class="form-group mb-0"> <select class="form-control custom-form-control-camp" id="all_campaigns"> <option value="all">--Choose Campaign--</option> <?php $__currentLoopData = $campaigns; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $campaign): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> <option value="<?php echo e($campaign->id); ?>"><?php echo e($campaign->title); ?></option> <?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?> </select> </div>
<?php endif; ?> </div>
<div class="inbox-heading d-none"> <h6><i class="fa fa-inbox mr-2"></i> <b>Messages</b></h6> <button class="btn btn-p-custom new_chat mt-2" type="button"> <i class="fa fa-sms text-white"></i> <span class="start-chat-text">Start Chat </span> </button> </div> <div class="col-lg-1 col-md-2">
<div class="un-read-message-sec"> <label class="custom-checkbox-icon mb-0" data-toggle="tooltip" data-placement="top" title="Unread"> <input type="checkbox" class="d-none form-check-input" id="unreadStatus"> <span class="filter-head-value total_unread">0</span> <i class="fas fa-envelope text-muted unread-icon"></i> </label> </div> </div>
<div class="col-lg-1 col-md-2">
<div class="un-read-message-sec"> <label class="custom-checkbox-icon mb-0" data-toggle="tooltip" data-placement="top" title="Channels"> <span class="filter-head-value total_channel">0</span> <i class="fas fa-life-ring text-muted unread-icon"></i> </label> </div> </div>
<div class="col-lg-1 col-md-2">
<div class="order-by-oldest-message-sec"> <label class="custom-checkbox-icon mb-0" data-toggle="tooltip" data-placement="bottom" title="Order By Oldest"> <input type="checkbox" class="d-none form-check-input" id="orderByOldest"> <i class="fas fa-sort-amount-up text-muted order-by-oldest-icon"></i> </label> </div> </div>
<div class="col-lg-1 col-md-2">
<div class="dlt-arcv-message-section"> <span class="float-right"> <button type="button" class="btn btn-dark btn-sm ml-2 inbox_messages"> <i class="fa fa-archive" aria-hidden="true"></i> </button> </span> </div> </div>
<div class="btn-group d-none"> <button type="button" class="three-dots-btn" data-toggle="dropdown" aria-expanded="false"> <i class="fas fa-ellipsis-v"></i> </button> <div class="dropdown-menu" role="menu" style="">
<a class="dropdown-item" href="#"> <span class="message-for-inbox"> <span class="filter-head-text">Channels : <span class="filter-head-value total_channel">0</span></span></span></a> <a class="dropdown-item" href="#"><span class="message-for-inbox"><span class="filter-head-text">Unread : <span class="filter-head-value total_unread">0</span></span></span></a>
</div> </div> </div> <?php if(auth('customer')->user()->type !='staff'): ?> <div class="chat-box-filter-content-sec" id="chat-box-fitler"> <div class="chat-box-filter-head-sec"> <span class="float-right d-none"> <button type="button" class="btn btn-danger btn-sm ml-2 inbox_messages"> <i class="fa fa-archive" aria-hidden="true"></i> </button> </span>
<span class="float-right"> <?php if(auth('customer')->user()->type=='reseller'): ?> <button type="button" class="btn btn-success btn-sm ml-4 filter-by-customer-btn" id="filter-by-customer-preview-btn"> <i class="fa <?php echo e(isset($access_staff_view) && $access_staff_view=='no'?'fa-eye-slash':'fa-eye'); ?>" aria-hidden="true"></i> </button> <?php endif; ?> </span> </div> <div class="row d-none"> <div class="col-sm-12 search-by-customer-select"> <div class="form-group "> <?php if(auth('customer')->user()->type=='reseller'): ?> <select class="form-control choose_staff custom-form-control"> <option value="all"><?php echo e(trans('--Select User--')); ?></option> <?php $__currentLoopData = $staffs; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $staff): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> <option value="<?php echo e($staff->id); ?>"><?php echo e($staff->email); ?></option> <?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?> </select> <?php endif; ?> <input type="text" class="form-control custom-form-control mt-2" name="" placeholder="Search For Anything"> </div> </div> </div>
<div class="row align-items-center d-none"> <div class="col-sm-5"> <span>Unread: <input type="checkbox" class="form-check-input" id="unreadStatus"></span> </div>
<div class="col-md-7"> <span>Order by Oldest: <input type="checkbox" class="form-check-input" id="orderByOldest"></span> </div> </div>
<div id="view_all_campaing"> </div>
<div class="mt-4 d-none"> <span><i class="fa fa-file" aria-hidden="true"></i> <span class="ml-2"><strong>+9292929883</strong> <span class="text-muted">-Thomas</span></span> </span> </div> <div class="chat-box-bottom-sec d-none align-items-center justify-content-between"> <div class="chatbox-asigned-content"> <div class="chatbox-notification-sec-two"> + </div> <div class="chatbox-timing-sec"> <div class="chatbox-assigned-title text-muted"> Videos </div> <div class="chatbox-time-sec text-muted"> 11/11/2023 8.20 Am </div> </div> </div> <div class="conversation-assign-section">
<div class="conversation-assigned-sec-icons"> <span> <i class="fa fa-users" aria-hidden="true"></i> </span> <span> <i class="fa fa-flag text-muted" aria-hidden="true"></i> </span> <span> <i class="fa fa-archive text-danger" aria-hidden="true"></i> </span> </div> </div> </div> </div> <?php endif; ?> </div> <div class="list-group list-group-flush all-chat-list"> <div class="list-group-item list-group-item-action search-chat-head list-group-item-light chat_heading">
</div> <div class="ajax-loader d-none"> <img src="<?php echo e(asset('images/ezgif-1-7aba96d47e.gif')); ?>" alt="">
</div> <div class="newMessageAlert">
</div> <div class="chat-box-side mt-3 chat-number-section-test" id="numb" data-current-page="2">
</div> </div>
<div class="row"> <div class="col-lg-12 text-center pt-3"> <button class="btn btn-sm mr-3 disabled" id="previous-page"><i class="fa fa-chevron-left paginate-icon text-success"></i></button> <span>Pages <span class="ml-2" id="cPage">1</span></span> <button class="btn btn-sm ml-3" id="next-page"><i class="fa fa-chevron-right paginate-icon text-success"></i></button>
</div> </div> </div> </div> <div class="col-md-8 col-xl-8 col-sm-8 p-0 custom-chat-section-bg-color"> <!-- Page content wrapper--> <div class="message-details-section custom-chat-section-card-two chat-main-content-section"> <div id="page-content-wrapper" class="page-content-section-wrapper" style="width: 100%;">
<div class="col-md-12 d-none details-section"> <div class="settings-tray"> <div class="friend-drawer no-gutters friend-drawer--grey"> <div class="text"> <p class="text-muted mt-2" id="mess"></p> <div class="form-group label d-none" id="label">
<div class="row align-items-center justify-content-between flex-wrap"> <div class="col-lg-4 col-md-6 text-center mb-2 mb-md-0" id="contactName"></div>
<?php if(auth('customer')->user()->type != 'staff'): ?> <div class="col-lg-3 col-md-6 col-10 p-2"> <select class="form-control label w-100" name="label" id="select-label"> <?php $__currentLoopData = $labels; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $label): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> <option style="color: <?php echo e(isset($label->color)?$label->color:''); ?>" value="<?php echo e($label->id); ?>"> <?php echo e(ucfirst($label->title)); ?>
</option> <?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?> </select> </div>
<div class="col-lg-3 col-md-6 col-12 text-center"> <a type="button" class="btn btn-info save d-none text-white"><?php echo app('translator')->get('admin.form.button.save'); ?></a> </div> <?php else: ?> <div class="col-lg-4"></div> <?php endif; ?>
<div class="three-dots-btn-sec"> <?php if(auth('customer')->user()->type != 'staff'): ?> <div class="dropdown"> <button type="button" class="three-dots-btn" data-toggle="dropdown" aria-expanded="false"> <i class="fas fa-ellipsis-v"></i> </button> <div class="dropdown-menu custm-drp-dwn-menu text-center"> <button class="dropdown-item exception_modal_btn btn-sm" data-type="add" id="addException" type="button"> Suppress </button> <button class="dropdown-item exception_modal_btn btn-sm d-none" data-type="delete" id="removeException" type="button"> Suppress </button> <button class="dropdown-item btn-sm" id="sendNumberInfo"> Push </button> </div> </div> <?php endif; ?> </div> </div>
</div> </div> </div> </div> <div class="chat-box-body chat-content-wrapper" id="to-chat" data-current-chats="2"></div> </div> <div class="col-md-12 empty-details-section text-center"> <div class="row"> <div class="col-md-12"> <div class="empty-text"> <div class="empty-image-section mx-auto"> <img src="<?php echo e(asset('images/campaign-cuate.png')); ?>" alt=""> </div> </div> </div>
<div class="col-md-12"> <h6 class="text-center empty-text"><?php echo e(formatDate(now())); ?>
<br> <span class="mt-4 pt-3 font-weight-bold">Select a contact to start conversation</span> </h6> </div> </div>
</div>
<div class="col-md-12 new-chat-section d-none text-center" id="new-chat-sec-wrapper"> <div class="row mt-4 find-contact-section"> <div class="col-md-2 col-4 pt-2"> <label for="">To :</label> </div> <div class="col-md-10 col-10">
<input type="text" id="searchContact" placeholder="Type a name to find contact" class="form-control b-0"> </div> </div>
<div class="row mt-3"> <div class="col-md-12 col-12" id="allContacts"> <?php $__currentLoopData = auth('customer')->user()->contacts()->limit(30)->get(); $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $contact): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> <?php $chars = 'ABCDEF0123456789'; $color = '#'; for ( $i = 0; $i < 6; $i++ ) { $color .= $chars[rand(0, strlen($chars) - 1)]; } ?> <div data-to-number="<?php echo e($contact->number); ?>" class="chat row single-contact p-2 mt-1" id="c_<?php echo e($contact->id); ?>" data-number="<?php echo e($contact->number); ?>" data-name="<?php echo e($contact->fullname?:$contact->number); ?>" data-id="<?php echo e($contact->id); ?>"> <div class="col-md-2 col-2 text-center new-contact-section" id="contact_name_<?php echo e($contact->id); ?>"> <strong style="background: <?php echo e($chars); ?>" class="new-c-name-icon"> <?php echo e($contact->first_name?substr(strtoupper($contact->first_name), 0, 1):'?'); ?>
</strong> </div> <div class="col-md-9 text-left"> <h6 class="m-0"> <?php echo e($contact->fullname); ?></h6> <h6 class="m-0"><?php echo e($contact->number); ?></h6> </div> </div> <?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?> </div> </div> </div>
<div class="message-input-wrapper"> <div class="row mb-3 section-new-message chat-typing-section mx-auto"> <div class="col-10 msg-body-section"> <div class="input-group lead emoji-picker-container"> <div class="input-group-prepend from-nmbr-border-right"> <span class="input-group-text"> <div class="btn-group"> <button type="button" class="btn pt-0 pb-0 from-number-text dropdown-toggle" data-toggle="dropdown" aria-expanded="false"> <?php echo e(isset($numbers[0])?substr($numbers[0]->number, 0,12):'From'); ?>
</button> <div class="dropdown-menu" role="menu" style=""> <?php $__currentLoopData = $numbers; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $number): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> <a class="dropdown-item choose-from-number" data-number="<?php echo e($number->number); ?>" href="#"><?php echo e($number->number); ?></a> <?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?> </div> </div> </span> </div>
<?php if($chat_responses->isNotEmpty()): ?> <div id="showResponse" class="d-none"> <?php $__currentLoopData = $chat_responses; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $chat_response): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> <h6 data-title="<?php echo e(isset($chat_response->content)?$chat_response->content:''); ?>" class="response_value"><?php echo e($chat_response->title); ?></h6> <?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?> </div> <?php endif; ?>
<input type="text" data-emojiable="true" data-emoji-input="unicode" class="form-control pt-2 type_message" id="message" placeholder="Type your message here..."> <div class="attact-icon"> <span id="choose_file" class="choose_file"><i class="fa fa-link"></i></span> </div> <div class="attact-icon"> <span id="work_flow_add" class="choose_file"><i class="fa fa-life-ring"></i></span> </div> <input type="hidden" id="number" value="<?php echo e(isset($numbers[0])?$numbers[0]->number:''); ?>" class="setFromNumber"> <input type="file" name="mms_file" class="mms_file d-none"> <input type="hidden" name="chat_type" value="existing">
</div> </div> <div class="col-2 cl-mb-send-btn msg-send-section"> <button class="btn btn-default sent-btn send"> <small>Send Message </small> </button> </div> </div> </div>
</div> <?php if(auth('customer')->user()->type !='staff'): ?> <div id="send-message-pop-up" class="send-message-pop-up-sec d-none p-4"> <div class="container"> <div class="row"> <div class="col-md-8 mx-auto"> <div class="send-message-pop-up-close-btn-sec"> <button class="btn btn-danger btn-sm float-right close-send-message-pop-up-btn">X</button> </div> </div> <div class="col-md-8 mx-auto"> <input type="hidden" name="from_selected_type" value="sms" id="from-selected-type"> <div class="from-section" id="sms_section_content"> <div class="form-group" id="sender_type"> <label for="">Select Sender Type</label> <select name="type" class="form-control senderType"> <option value="number">Number</option> <option value="sender_id">SenderID</option> </select> </div>
<div class="form-group from-number-section" id="phone_number_section"> <label for="">From</label> <select name="from_number[]" id="smsFromNumber" class="select2 compose-select" multiple="multiple" data-placeholder="<?php echo e(trans('customer.select_senders')); ?>:">
<?php if(isset($users_from_number)): ?> <optgroup label="From Numbers"> <?php $__currentLoopData = $users_from_number; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $number): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> <option value="<?php echo e(json_encode($number)); ?>"><?php echo e($number['number']); ?></option> <?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?> </optgroup> <?php endif; ?>
<?php if(isset($users_from_groups)): ?> <optgroup label="From Groups"> <?php $__currentLoopData = $users_from_groups; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $group): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> <option value="<?php echo e(json_encode($group)); ?>"><?php echo e($group['number']); ?></option> <?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?> </optgroup> <?php endif; ?> </select> </div> </div> <div class="number-select-default-system">
</div>
</div> <div class="col-md-8 mx-auto"> <div class="form-group"> <label for="to-number-input-control">To Number</label> <textarea name="to_number[]" id="to_number_sec" class="form-control" id="" cols="4" rows="4" placeholder="Enter To Number"></textarea> </div> <div class="form-group"> <label for="to-number-input-control">Message Body</label> <textarea name="message_body" id="message_body_sec" class="form-control" id="" cols="4" rows="4" placeholder="Enter Your Message"></textarea> </div> </div> <div class="col-md-8 mx-auto mb-3"> <div class="send-message-pop-up-btn mt-3"> <button type="button" class="btn btn-primary btn-sm float-right message-send-btn">Send Message</button> </div> </div> </div> </div> </div> <?php endif; ?> </div> </div> </div> </div> <div class="modal" id="exceptionModal" tabindex="-1" role="dialog"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title">Exception</h5> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">×</span> </button> </div> <div class="modal-body"> <p class="text-dark exception_message"></p> <div class="d-none form-group mt-3" id="check_new_contact"> <input type="checkbox" class="float-left" id="checkInput" name="check_new_contact" style="width: 5% !important;"> <label for="checkInput" class="ml-2 mt-2">Do you want to add this number in your contact list?</label> </div> </div> <div class="modal-footer"> <button type="button" id="saveException" class="btn btn-primary">Confirm</button> <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button> </div> </div> </div> </div> <input type="hidden" id="active_number">
<div class="modal" id="addNewContact" tabindex="-1" role="dialog"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title">Add New Contact</h5> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">×</span> </button> </div> <div class="modal-body"> <p class="text-dark">Do you want to add this number in your contact list?</p> </div> <div class="modal-footer"> <button type="button" id="addNewContactBtn" class="btn btn-primary">Confirm</button> <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button> </div> </div> </div> </div> <?php $settings = auth('customer')->user()->settings->where('name', 'data_posting')->first(); $settings = isset($settings) && isset($settings->value)?json_decode($settings->value):''; ?> <!-- Modal --> <div class="modal fade" id="sendCInfoModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle" aria-hidden="true"> <div class="modal-dialog modal-dialog-centered" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" id="exampleModalLongTitle">Send</h5> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">×</span> </button> </div> <div class="modal-body"> <div class="form-group"> <label for="">Select Method</label> <select name="" class="form-control" id="sendUrlMethod"> <option <?php echo e(isset($settings->type) && $settings->type=='get'?'selected':''); ?> value="get">GET </option> <option <?php echo e(isset($settings->type) && $settings->type=='post'?'selected':''); ?> value="post"> POST </option> </select> </div> <div class="form-group"> <label for="">Enter Url</label> <input type="text" id="sendUrl" value="<?php echo e(isset($settings->url)?$settings->url:''); ?>" placeholder="Enter Url" class="form-control"> <small class="text-danger" id="altMessage"></small> </div> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button> <button type="button" id="confirmUrlSend" class="btn btn-primary">Confirm</button> </div> </div> </div> </div> <input type="hidden" id="filtered_by_label">
<!-- Modal --> <div class="modal fade" id="assignStaffModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle" aria-hidden="true"> <div class="modal-dialog modal-dialog-centered" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" id="exampleModalLongTitle">Assign Staff</h5> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">×</span> </button> </div> <div class="modal-body"> <div class="form-group"> <label for=""><?php echo e(trans('Choose Staff')); ?></label> <select name="" class="form-control" id="assignStaff">
</select> <input type="hidden" class="message_campaign_id"> <input type="hidden" class="message_contact_id"> <input type="hidden" class="message_log_id"> </div>
<div class="form-group"> <label for="">Assigned Staffs</label> <ul class="mt-2" id="existingStaffs"> <li class="text-center text-danger"> No Data Available </li> </ul> </div> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button> <button type="button" id="assignNewStaff" class="btn btn-primary">Assign</button> </div> </div> </div> </div>
<div class="modal fade" id="multiAssignStaffModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle" aria-hidden="true"> <div class="modal-dialog modal-dialog-centered" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" id="exampleModalLongTitle">Confirmation</h5> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">×</span> </button> </div> <div class="modal-body"> <div class="form-group"> <h6>This contact has been already assigned to another user.Do you want to assign this user too?</h6> <input type="hidden" class="message_campaign_id"> <input type="hidden" class="message_contact_id"> <input type="hidden" class="message_log_id"> </div> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button> <button type="button" id="multiAssignNewStaff" class="btn btn-primary">Confirm</button> </div> </div> </div> </div>
<!-- Confirmation modal --> <div class="modal fade" id="modal-confirm"> <div class="modal-dialog"> <form id="modal-form"> <?php echo csrf_field(); ?> <div id="customInput"></div> <div class="modal-content"> <div class="modal-header p-2"> <h4 class="modal-title"><?php echo e(trans('customer.confirmation')); ?></h4> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">×</span> </button> </div> <div class="modal-body">
</div> <div class="modal-footer p-2"> <button id="modal-confirm-btn" type="submit" class="btn btn-primary btn-sm confirm-modal-btn"><?php echo e(trans('customer.confirm')); ?></button> <button type="button" class="btn btn-secondary btn-sm" data-dismiss="modal"><?php echo e(trans('customer.cancel')); ?></button> </div> </div> <!-- /.modal-content --> </form> </div> <!-- /.modal-dialog --> </div> <!-- /.modal --> <div class="modal fade" id="work_flow_modal" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle" aria-hidden="true"> <div class="modal-dialog modal-dialog-centered" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" id="exampleModalLongTitle">Select a Work Flow</h5> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">×</span> </button> </div> <div class="modal-body"> <div class="form-group"> <select name="work_flow" id="selected_work_flow" class="form-control"> <option value="">Select WorkFlow</option> <?php $__currentLoopData = $work_flows; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $work_flow): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?> <option value="<?php echo e($work_flow->id); ?>"><?php echo e($work_flow->name); ?></option> <?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?> </select> <span id="error_spn" class="text-danger"></span> </div> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button> <button type="button" id="work_flowConfirm" class="btn btn-primary">Confirm</button> </div> </div> </div> </div> <script src="<?php echo e(asset('plugins/jquery/jquery.min.js')); ?>"></script> <script src="<?php echo e(asset('plugins/bootstrap/js/bootstrap.bundle.min.js')); ?>"></script> <script src="<?php echo e(asset('js/adminlte.min.js')); ?>"></script> <script src="<?php echo e(asset('js/custom.js')); ?>"></script> <script src="<?php echo e(asset('plugins/datatables/jquery.dataTables.min.js')); ?>"></script> <script src="<?php echo e(asset('plugins/datatables-bs4/js/dataTables.bootstrap4.min.js')); ?>"></script> <script src="<?php echo e(asset('plugins/datatables-responsive/js/dataTables.responsive.min.js')); ?>"></script> <script src="<?php echo e(asset('plugins/select2/js/select2.full.min.js')); ?>"></script> <script src="<?php echo e(asset('plugins/daterangepicker/moment.min.js')); ?>"></script> <script src="<?php echo e(asset('plugins/daterangepicker/daterangepicker.js')); ?>"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"></script> <script src="<?php echo e(asset('js/bootstrap-4-navbar.js')); ?>"></script>
<!-- End emoji-picker JavaScript --> <?php if(session()->has('success')): ?> <script> $(document).Toasts('create', { autohide: true, delay: 10000, class: 'bg-success', title: 'Notification', body: '<?php echo e(session()->get('success')); ?>', }); </script> <?php endif; ?>
<?php if(session()->has('fail') || count($errors)>0): ?> <script> $(document).Toasts('create', { autohide: true, delay: 10000, class: 'bg-danger', title: 'Notification', body: '<?php echo e(session()->get('fail')); ?>', }); </script> <?php endif; ?> <script>
"use strict"; $(document).ready(function () { $('#to_number_sec').on('keyup or paste', function () { var to_number = $(this).val(); var newValue = to_number.replace(/\s/g, ''); $('#to_number_sec').text(newValue?newValue:'0'); }); });
$(document).on('click', '.message-send-btn', function (e) { e.preventDefault();
const send_type = $('.senderType').val(); const from_number = $('#smsFromNumber').val(); const all_to_number = $('#to_number_sec').val();
const to_numbers = all_to_number.replace(/\s/g, ''); const message_body = $('#message_body_sec').val(); const from_selected_type = $('#from-selected-type').val(); $.ajax({ type:'POST', url:'<?php echo e(route('customer.chat.pop.up.message.send')); ?>', data:{ send_type:send_type, from_number:from_number, to_numbers:to_numbers, message_body:message_body, from_selected_type:from_selected_type, _token: '<?php echo e(csrf_token()); ?>', }, success: function (res) { if (res.status == 'success') { $('#message_body_sec').val(''); $('#smsFromNumber').val('').trigger('change'); $('#to_number_sec').val(''); $(document).Toasts('create', { autohide: true, delay: 10000, class: 'bg-success', title: 'Notification', body: res.message, }); }else{ $(document).Toasts('create', { autohide: true, delay: 10000, class: 'bg-danger', title: 'Error', body: res.message, }); } } }) });
$(document).on('change', '.senderType', function (e){ const type=$(this).val(); const from_selected_type = $('.from_selected_type').val(); if(!type){ toastr.success('Select valid type','Copied!', {timeOut: 2200}); return; }
$.ajax({ type:'GET', url:'<?php echo e(route('customer.all.senders')); ?>', data:{ type:type,from_selected_type:from_selected_type },
success: function(res){ if(res.status=='success'){ let numbers = ''; if(res.number.length > 0) { $.each(res.number, function (index, value) { numbers+= `<option value='${JSON.stringify(value)}'>${value['number']}</option>`; }); } let groups = ''; if(res.groups.length > 0) { $.each(res.groups, function (index, value) { groups+= `<option value='${JSON.stringify(value)}'>${value['number']}</option>`; }); } $('#smsFromNumber').html(`<optgroup label="From Sender ID">${numbers}</optgroup><optgroup label=" Sender Group">${groups}</optgroup>`);
} } }) }); $('#smsFromNumber').select2({ tags: false, placeholder: 'Select an from number' }); $(document).on('click', '.send-new-message-pop-up-btn', function (e) { e.preventDefault(); $('#page-content-wrapper').addClass('d-none'); $('.send-message-pop-up-sec').removeClass('d-none'); });
$(document).on('click', '.close-send-message-pop-up-btn', function (e) { e.preventDefault(); $('.send-message-pop-up-sec').removeClass('active'); $('#page-content-wrapper').removeClass('d-none'); $('.send-message-pop-up-sec').addClass('d-none'); $('.empty-details-section').removeClass('d-none'); if ($("#new-chat-sec-wrapper").hasClass("active")) { $('#new-chat-sec-wrapper').removeClass('d-none'); $('#new-chat-sec-wrapper').addClass('active'); }else{ $('#new-chat-sec-wrapper').addClass('d-none'); $('#new-chat-sec-wrapper').removeClass('active'); } });
let sidebarAjax; $(document).on('click', '#choose_file', function (e) { $('.mms_file').trigger('click'); });
$(document).on('change', '#unreadStatus', function(e){ e.preventDefault();
$('#all_campaigns').val('all'); $('.choose_staff').val('all'); if($('#orderByOldest').is(":checked")){ $('#orderByOldest').trigger('click'); }
chatList(); });
$(document).on('change', '#orderByOldest', function(e){ e.preventDefault();
$('#all_campaigns').val('all'); $('.choose_staff').val('all'); if($('#unreadStatus').is(":checked")){ $('#unreadStatus').trigger('click'); }
chatList(); });
$(document).on('change', '#all_campaigns', function(e){ e.preventDefault();
chatList(); })
$(document).on('click', '#assignNewStaff', function (e) { const staff_id = $('#assignStaff').val(); const campaign_id = $('.message_campaign_id').val(); const contact_id = $('.message_contact_id').val(); const message_log_id = $('.message_log_id').val();
$('#assignNewStaff').attr('disabled', 'disabled');
$.ajax({ type: 'POST', url: '<?php echo e(route('customer.staff.assign.in.campaign')); ?>', data: { '_token':'<?php echo e(csrf_token()); ?>',staff_id: staff_id, campaign_id: campaign_id, contact_id: contact_id,message_log_id:message_log_id },
success: function (res) { if(res.status=='pre_assigned'){ $('#multiAssignStaffModal').modal('show'); $('#assignStaffModal').modal('hide'); } if (res.status == 'success') { $('#assignStaffModal').modal('hide');
$(document).Toasts('create', { autohide: true, delay: 10000, class: 'bg-success', title: 'Error', body: res.message, }); } $('#assignNewStaff').removeAttr('disabled'); } });
});
$(document).on('click', '#multiAssignNewStaff', function (e) { const staff_id = $('#assignStaff').val(); const campaign_id = $('.message_campaign_id').val(); const contact_id = $('.message_contact_id').val(); const message_log_id = $('.message_log_id').val();
$('#multiAssignNewStaff').attr('disabled', 'disabled');
$.ajax({ type: 'POST', url: '<?php echo e(route('customer.staff.assign.in.campaign')); ?>', data: { '_token':'<?php echo e(csrf_token()); ?>', staff_id: staff_id, campaign_id: campaign_id, contact_id: contact_id, message_log_id:message_log_id, type:'assigned_contact' },
success: function (res) { if (res.status == 'success') { $('#assignStaffModal').modal('hide'); $('#multiAssignStaffModal').modal('hide');
$(document).Toasts('create', { autohide: true, delay: 10000, class: 'bg-success', title: 'Error', body: res.message, }); }else if(res.status=='pre_assigned'){ notify('danger','Staff already assigned to this contact'); }
$('#multiAssignNewStaff').removeAttr('disabled'); } });
});
$(document).on('click', '.assign_staff_contact', function (e) { e.preventDefault(); // console.log(e);
const contact_id = $(this).attr('data-contact-id'); const campaign_id = $(this).attr('data-campaign-id'); const message_id = $(this).attr('data-message-id');
$('.message_campaign_id').val(campaign_id); $('.message_contact_id').val(contact_id); $('.message_log_id').val(message_id);
$.ajax({ type: 'get', url: '<?php echo e(route('customer.get.campaign.staffs')); ?>', data: { contact_id: contact_id, campaign_id: campaign_id },
success: function (res) { if (res.status=='success') { let html = ''; let existing_staffs = '';
$.each(res.staffs, function (index, value) { html += `<option value="${value.id}">${value.first_name} ${value.last_name}(${value.email})</option>`; }); $.each(res.pre_staffs, function (index, value) { existing_staffs += `<li id="ex_staff_li_${value.id}"> <span class="ex-staff-name">${value.name}(${value.email})</span> <span class="float-right delete_ex_staff" data-id="${value.id}"> <i class="fa fa-trash text-danger"></i> </span> </li>`; });
$('#assignStaff').html(html); $('#existingStaffs').html(existing_staffs); $('#assignStaffModal').modal('show'); } } }) });
$(document).on('click', '.delete_ex_staff', function(e){ const id=$(this).attr('data-id');
$.ajax({ type:'GET', url:'<?php echo e(route('customer.delete.contact.staff')); ?>', data:{ id:id },
success:function(res){ if(res.status=='success'){ $(document).Toasts('create', { autohide: true, delay: 10000, class: 'bg-success', title: 'Error', body: res.message, }); $('#ex_staff_li_'+id).remove(); $('#assignStaffModal').modal('hide'); } } }) });
$(document).ready(function(){ getMessageCounter(); });
$(document).on('click', '.trash_contact', function(e){ const contact_id=$(this).attr('data-contact-id');
$.ajax({ type:'POST', url:'<?php echo e(route('customer.message.move.trash')); ?>', data:{ contact_id:contact_id,'_token':'<?php echo e(csrf_token()); ?>' },
success:function(res){ if(res.status=='success'){ $(document).Toasts('create', { autohide: true, delay: 10000, class: 'bg-success', title: 'Notification', body: res.message, });
$('.delete_chat_row_'+contact_id).remove();
$('.details-section').addClass('d-none'); $('.empty-details-section').removeClass('d-none'); $('.new-chat-section').addClass('d-none'); $('.section-new-message').css('display', 'none !important'); }else{ $(document).Toasts('create', { autohide: true, delay: 10000, class: 'bg-danger', title: 'Notification', body: res.message, }); }
chatList(); } });
getMessageCounter();
});
//Remove Trash Contact $(document).on('click', '.remove_trash_contact', function(e){ const contact_id=$(this).attr('data-contact-id');
$.ajax({ type:'POST', url:'<?php echo e(route('customer.remove.trash.contact')); ?>', data:{ contact_id:contact_id,'_token':'<?php echo e(csrf_token()); ?>' },
success:function(res){ if(res.status=='success'){ $(document).Toasts('create', { autohide: true, delay: 10000, class: 'bg-success', title: 'Notification', body: res.message, });
$('.delete_chat_row_'+contact_id).remove();
$('.details-section').addClass('d-none'); $('.empty-details-section').removeClass('d-none'); $('.new-chat-section').addClass('d-none'); }else{ $(document).Toasts('create', { autohide: true, delay: 10000, class: 'bg-danger', title: 'Notification', body: res.message, }); }
chatList(); } })
getMessageCounter(); });
$(document).on('click', '.flagged_contact', function(e){ const contact_id=$(this).attr('data-contact-id');
$.ajax({ type:'POST', url:'<?php echo e(route('customer.flag.contact')); ?>', data:{ '_token':'<?php echo e(csrf_token()); ?>',contact_id:contact_id },
success:function(res){ if(res.status=='success'){ $(document).Toasts('create', { autohide: true, delay: 10000, class: 'bg-success', title: 'Notification', body: res.message, }); $('.flagged_active_'+contact_id).addClass('active'); }else{ $(document).Toasts('create', { autohide: true, delay: 10000, class: 'bg-success', title: 'Notification', body: res.message, }); $('.flagged_active_'+contact_id).addClass('active'); } } }) });
$(document).on('click', '.inbox_messages', function(e){ e.preventDefault();
if($('.inbox_messages').hasClass('active')){ $('.inbox_messages').removeClass('active').removeClass('btn-success').addClass('btn-dark').html(`<i class="fa fa-archive" aria-hidden="true"></i>`); $('.message-for-archive').addClass('d-none'); $('.message-for-inbox').removeClass('d-none');
}else{ $('.inbox_messages').addClass('active').removeClass('btn-dark').addClass('btn-success').html(`<span class="filter-head-value archive_total_channel">0</span> <i class="fa fa-inbox" aria-hidden="true"></i>`); $('.message-for-inbox').addClass('d-none'); $('.message-for-archive').removeClass('d-none'); }
getMessageCounter(); chatList();
});
function getMessageCounter(){ let message_type='inbox'; if($('.inbox_messages').hasClass('active')){ message_type='trash'; } $.ajax({ type:'GET', url:'<?php echo e(route('customer.message.counter')); ?>', data:{ message_type:message_type },
success:function(res){ if(res.status=='success'){ if(message_type=='trash') { $('.archive_total_channel').text(res.total_message) } $('.total_channel').text(res.total_message) $('.total_unread').text(res.total_unread_message)
} } }) }
$(document).on('click', '.filter-by-customer-btn', function() { $.ajax({ type:'POST', url:'<?php echo e(route('customer.access.staff.message.view')); ?>', data:{ '_token':'<?php echo e(csrf_token()); ?>' }, success:function(res){ if(res.type=='no'){ $("#filter-by-customer-preview-btn").html(`<i class="fa fa-eye-slash" aria-hidden="true"></i>`); }else{ $("#filter-by-customer-preview-btn").html(`<i class="fa fa-eye" aria-hidden="true"></i>`); } $('#all_campaigns').val('all'); $('.choose_staff').val('all'); chatList(); } }); });
$(document).on('change', '.choose_staff', function(e){ $('#all_campaigns').val('all');
if($('#unreadStatus').is(":checked")){ $('#orderByOldest').trigger('click'); } if($('#orderByOldest').is(":checked")){ $('#orderByOldest').trigger('click'); }
chatList(); });
$(document).on('click', '.choose-from-number', function (e) { e.preventDefault(); const number = $(this).attr('data-number'); $('.setFromNumber').val(number); $('.from-number-text').text(number.substring(0, 5)); }); $(document).on('click', '.filter-by', function (e) { e.preventDefault(); const type = $(this).attr('data-type'); if (type == 'date') { $('#reservation').trigger('click'); } }); $(function () { $('#reservation').daterangepicker(); }); $(document).on('click', '#sendNumberInfo', function (e) { const number = $(this).attr('data-number'); $('#sendCInfoModal').modal('show'); $('#confirmUrlSend').attr('data-number', number); }); </script> <script> "use strict";
window.addEventListener('DOMContentLoaded', event => { const sidebarToggle = document.body.querySelector('#sidebarToggle'); if (sidebarToggle) { sidebarToggle.addEventListener('click', event => { event.preventDefault(); document.body.classList.toggle('sb-sidenav-toggled'); localStorage.setItem('sb|sidebar-toggle', document.body.classList.contains('sb-sidenav-toggled')); }); } }); let already_sent = false; $(document).on('click', '.new_chat', function (e) { e.preventDefault(); $('.new-chat-section').removeClass('d-none'); $('.section-new-message').css('display', 'none'); $('.empty-details-section').addClass('d-none'); $('.details-section').addClass('d-none'); $('.chat').removeClass('active'); $('input[name=chat_type]').val('new_chat'); if ($("#send-message-pop-up").hasClass("active")) { $('.send-message-pop-up-sec').removeClass('d-none'); $('#page-content-wrapper').addClass('d-none'); }else{ $('.send-message-pop-up-sec').addClass('d-none'); $('#page-content-wrapper').removeClass('d-none'); }
});
function delay(callback, ms) { let timer = 0; return function () { let context = this, args = arguments; clearTimeout(timer); timer = setTimeout(function () { callback.apply(context, args); }, ms || 0); }; }
$(document).on('keyup', '#searchContact', delay(function (e) {
const name = $(this).val();
$.ajax({ type: 'GET', url: '<?php echo e(route('customer.search.contacts',['page'=>1])); ?>', data: { name: name },
success: function (res) { if (res.status == 'success') { let html = '';
$.each(res.data, function (index, value) { html += `<div data-to-number="${value.number}" class="chat row single-contact p-2 mt-1" id="c_${value.id}" data-number="${value.number}" data-name="${value.name}" data-id="${value.id}"> <div class="col-md-2 col-2 text-center new-contact-section" id="contact_name_${value.id}"> <strong" class="new-c-name-icon"> ${value.name.substring(0, 1)} </strong> </div> <div class="col-md-9 text-left"> <h6 class="m-0">${value.name}</h6> <h6 class="m-0">${value.number}</h6> </div> </div>`; });
$('#allContacts').html(html); } }
}) }, 500))
$('.select2').select2({ multiple: true, placeholder: 'Select an recipients' });
$(document).on('click', '.chat', function (e) { e.preventDefault(); if($(this).attr('auto-ref') !='true') { $('#to-chat').html(`<div class="loading"><div class="loader"></div></div>`); } $('#mess').html(""); const number = $(this).attr('data-to-number');
if (number) { $('#label').removeClass("d-none"); } $('.details-section').removeClass('d-none'); $('.empty-details-section').addClass('d-none'); $('.new-chat-section').addClass('d-none'); $('.page-content-section-wrapper').removeClass('d-none');
$('.send').attr('data-to-number', number); $('.save').attr('data-to-number', number).addClass('d-none'); $('#active_number').attr('data-to-number', number); $('.chat').removeClass('active'); $('#send-message-pop-up').addClass('d-none'); $(this).addClass('active'); $('input[name=chat_type]').val('existing'); const id= $(this).attr('data-id');
$('#unread_'+id).remove();
$.ajax({ url: '<?php echo e(route('customer.chat.get.data')); ?>', method: "GET", data: { number: number, }, success: function (res) { already_sent = false; $('.section-new-message').css('display', 'flex'); if (res.status == 'success') { let html = ''; let replyAction=''; let last_to_number = null; const messages = res.data.messages.sort((a, b) => new Date(a.updated_at).getTime() - new Date(b.updated_at).getTime()); $.each(messages, function (index, value) { let created_at = (new Date(value.created_at)).toLocaleString(undefined, { year: 'numeric', month: 'short', day: '2-digit', hour: 'numeric', minute: 'numeric' });
replyAction=`<span class="float-right dropdown d-none"> <span data-toggle="dropdown" class="chat-reply-action"><i class="fas fa-ellipsis-v"></i></span> <div class="dropdown-menu" aria-labelledby="dropdownMenuButton"> <a data-message="${value.to}" class="dropdown-item reply-btn block-from" href="#">Reply</a> </div> </span>`;
if (value.type == 'sent') { html += `<div class="row no-gutters"><div class="col-md-4 offset-md-8" data-toggle="tooltip" data-placement="left" title="From : ${value.from}"><div class="chat-bubble chat-bubble--right ${value.status == 'failed' ? 'failed-message' : ''}">${value.body}</div><small class="message-sent-time ${value.status == 'failed' ? 'text-danger' : ''}">${value.status == 'failed' ? 'Failed' : created_at}</small></div></div>`; } else { html += `<div class="row no-gutters left-chat-action"><div class="col-md-4" data-toggle="tooltip" data-placement="right" title="To : ${value.to}"><div class="chat-bubble chat-bubble--left">${value.body} ${replyAction}</div><small class="message-sent-time">${created_at}</small></div></div>`; last_to_number = value.to; }
}); if (res.data.number) { $('#addException').addClass('d-none'); $('#removeException').removeClass('d-none'); } else { $('#addException').removeClass('d-none'); $('#removeException').addClass('d-none'); } if (!res.data.label && !res.data.id) { $('.save').attr('have-label', 'no'); $('#check_new_contact').removeClass('d-none'); } else { $('#check_new_contact').addClass('d-none'); $('.save').attr('have-label', 'yes'); }
$('#to-chat').html(html).scrollTop($('#to-chat')[0].scrollHeight); $('#to-chat').attr('data-current-chats', res.data.page); $('.send').attr('data-id', res.data.id); // $('#contactName').html(`<p class="text-dark"> <b>${res.data.name ? res.data.name : ''}</b> </p><p class="text-dark"> ${number ? number : number} </p><small class="text-dark"> ${res.data.address ? res.data.address : ''} </small>`); let contact_name = res.data.name ? res.data.name : ''; let contact_phone = number ? number : ''; let contact_address = res.data.address ? res.data.address : ''; let contactProfileImage = res.data.image ? res.data.image : '<?php echo e(asset('images/user-profile.png')); ?>'; let displayName = contact_name ? contact_name : contact_phone;
$('#contactName').html(` <div class="d-flex align-items-center"> <img src="${contactProfileImage}" alt="Profile Image" class="rounded-circle" width="40" height="40"> <div class="ml-2"> <p class="text-dark mb-0"><b>${displayName}</b> ${contact_name ? `(${contact_phone})` : ''}</p> </div> </div> `);
$('#addException').attr('data-number', number); $('#removeException').attr('data-number', number); $('#select-label').val(res.data.label); $('#sendNumberInfo').attr('data-number', number); $('#work_flowConfirm').attr('data-number', number); $('#work_flowConfirm').attr('data-contactID', res.data.id); $('#work_flowConfirm').attr('data-messlogID', id); $('#selected_work_flow').attr('data-workflowID', res.data.work_flow); $('#selected_work_flow').attr('data-number', number); $('[data-toggle="tooltip"]').tooltip(); if (last_to_number) { $('#number').val(last_to_number).change(); } } } }); $('.chat').removeAttr('auto-click') });
//Send SMS Ajax Here $(document).on('click', '.send', function (e) { e.preventDefault(); const id = $(this).attr('data-id'); let numb = ''; const chatType = $('input[name=chat_type]').val(); if (chatType == 'existing') { numb = $(this).attr('data-to-number'); } else { numb = $('#new_chat_contact').val(); } if (!numb) { $(document).Toasts('create', { autohide: true, delay: 10000, class: 'bg-danger', title: 'Error', body: 'Please select a recipient number', }); return true; } if (chatType == 'existing' && !id) { $(document).Toasts('create', { autohide: true, delay: 10000, class: 'bg-danger', title: 'Error', body: 'Unknown contact', }); return true; }
const number_to = {id: id, type: 'contact'}; const from_number = $('#number').val(); const body = $('#message').val(); if (!body) { $(document).Toasts('create', { autohide: true, delay: 10000, class: 'bg-danger', title: 'Error', body: 'Type your message and try again', }); return true; } $.ajax({ url: '<?php echo e(route('customer.smsbox.compose.sent')); ?>', method: "POST", data: { to_numbers: [JSON.stringify(number_to)], from_number: from_number, body: body, from_type: 'phone_number', _token: '<?php echo e(csrf_token()); ?>' }, success: function (res) { if (res.status == 'success') { $('.type_message').html(''); $('#message').val(''); const html = `<div class="row no-gutters"><div class="col-md-3 offset-md-9"><div class="chat-bubble chat-bubble--right">${body}</div></div></div>`; $('#to-chat').append(html).scrollTop($('#to-chat')[0].scrollHeight); setTimeout(()=>{ $("#chat-wrapper-single-"+id).trigger('click'); },2000);
} else { $(document).Toasts('create', { autohide: true, delay: 10000, class: 'bg-danger', title: 'Notification', body: res.message, }); } }, error: function (res) { $(document).Toasts('create', { autohide: true, delay: 10000, class: 'bg-danger', title: 'Notification', body: res.message, }); } }); });
$(document).on('change', '#select-label', function (e) { $('.save').removeClass('d-none'); }) $(document).on('click', '.save', function (e) {
const label = $('#select-label').val(); const number = $(this).attr('data-to-number'); const contact = $(this).attr('have-label'); if (contact == 'no') { $('#addNewContact').modal('show'); $('#addNewContactBtn').attr('data-label', label).attr('data-number', number); return true; } $.ajax({ method: "POST", url: '<?php echo e(route('customer.chat.label.update')); ?>', data: { label: label, number: number, _token: '<?php echo e(csrf_token()); ?>' }, success: function (res) { if (res.status == 'success') { $(document).Toasts('create', { autohide: true, delay: 10000, class: 'bg-success', title: 'Notification', body: res.message, }); $('#search').trigger('keyup') } } }); });
$(document).on('click', '#addNewContactBtn', function (e) {
const label = $(this).attr('data-label'); const number = $(this).attr('data-number');
$.ajax({ method: "POST", url: '<?php echo e(route('customer.add.new.contact')); ?>', data: { label: label, number: number, _token: '<?php echo e(csrf_token()); ?>' }, success: function (res) { if (res.status == 'success') { $('#addNewContact').modal('hide'); $(document).Toasts('create', { autohide: true, delay: 10000, class: 'bg-success', title: 'Notification', body: res.message, }); const pageNumber = $('#numb').attr('data-current-page'); $('#search').attr('search-page-number', parseInt(pageNumber) - 1); $('#search').trigger('keyup'); } } }); });
function generateLabel(labels, toNumber, $preLabel) { let html = ''; $.each(labels, function (index, value) { html += `<button data-to-number="${toNumber}" have-label="${$preLabel ? 'yes' : 'no'}" data-label="${value.id}" class="dropdown-item label update_label"><span style="color: ${value.color}">${value.title}</span></button>`; }); return html; }
$('#search').on('keyup', function (e) { e.preventDefault(); const search = $(this).val(); const date = $('#reservation').val(); const type = $('#sortBy').val(); const label_id = $('#filtered_by_label').val(); const prePage = $(this).attr('search-page-number');
$.ajax({ url: '<?php echo e(route('customer.chat.get.numbers')); ?>', method: "get", data: { search: search, date: date, type: type, label_id: label_id, page: prePage ? prePage : 1, }, success: function (res) { if (res.status == 'success') { let html = ''; let labels = ''; if (res.data.numbers != []) { $.each(res.data.numbers, function (index, value) { let randColor = getRandomColor(); html += `<div class="chat p-2 c-pointer" data-to-number="${value.number}"> <div class="row"> <div class="col-md-2 col-lg-2 col-2 text-center name-icon-section"> <strong style="background: ${randColor}" class="name-icon"> ${value.full_name.substring(0, 1)} </strong> </div> <div class="col-md-6 col-lg-6 col-6 text-left message-body-section"> <h6>${value.full_name ? value.full_name : value.number}</h6> <h6>${value.body}</h6> </div> <div class="col-md-4 col-lg-4 d-lg-block d-none text-sm">${value.created_at}</div> </div> </div>`; }); } else { html = '<div class="row"><div class="col-sm-12 text-center">No Data Available</div><div>'; } $('#numb').html(html);
if (res.data.page != 'end') { $('#cPage').text(parseInt(res.data.page) - 1); } else { $('#cPage').text(res.data.page); } $('#numb').attr('data-current-page', res.data.page); } } }); });
$(document).ready(function (e) { chatList(); })
// Chat List Function function chatList(){ let unread_only='false'; if($('#unreadStatus').is(":checked")){ unread_only='true' }
let order_by_oldest='false'; if($('#orderByOldest').is(":checked")){ order_by_oldest='true' } let trash_contacts=''; if($('.inbox_messages').hasClass('active')){ trash_contacts='trash'; }
const prePage = $(this).attr('search-page-number'); const campaign_id=$('#all_campaigns').val(); const staff_id=$('.choose_staff').val(); sidebarAjax=$.ajax({ url: '<?php echo e(route('customer.chat.get.numbers')); ?>', method: "get", data: { page: prePage ? prePage : 1, campaign_id:campaign_id, staff_id:staff_id, unread_only:unread_only, order_by_oldest:order_by_oldest, trash_contacts:trash_contacts }, success: function (res) {
if (res.status == 'success') { let html = ''; let labels = ''; let dataNumber = $('.send').attr('data-to-number'); if (res.data.numbers != []) { $.each(res.data.numbers, function (index, value) { let unread='';
let uniqueCounter=value.number.replace('+',''); // if(value.unread > 0){ // unread=`<span id="unread_${value.id}" class="unread-msg-counter">${value.unread}</span>`; // } let randColor = getRandomColor(); html += `<div class="chat p-2 c-pointer delete_chat_row_${value.id} ${dataNumber && dataNumber==value.number?'active':''}" trigger="${value.number.replace('+','')}" auto-ref="${dataNumber && dataNumber==value.number?'true':'false'}" id="chat-wrapper-single-${value.id}" data-id="${value.id}" data-to-number="${value.number}"> <div class="row align-items-center justify-content-between justify-content-sm-start created-at-for-new-msg" data-date="${value.createdAt}"> <div class="col-md-2 col-lg-2 col-2 text-center name-icon-section"> <span class="left-side-bubble-icon"><i class="fa fa-user mb-1 text-white"></i></span> <span class="total-counter-unread ${value.unread<=0?'d-none':''}">${value.unread}</span> </div> <div class="col-md-6 col-lg-6 col-6 text-left message-body-section"> <div class="chat-profile-info con-name">${value.full_name ? value.full_name : value.number} ${unread}</div> <div class="chat-profile-info">${value.body.length > 10 ? value.body.substring(0, 10) + "..." : value.body}</div>
</div> <div class="col-md-4 col-lg-4 d-lg-block d-none text-sm">
<small> ${value.createdAt} </small> ${getAssignBox(value,res.data.access_staff_view,trash_contacts)} </div> </div> </div>`; }); } else { html = '<div class="row"><div class="col-sm-12 text-center">No Data Available</div><div>'; } $('#numb').html(html);
if(dataNumber){ $(`.chat[trigger=${dataNumber}]`).trigger('click'); }
if (res.data.page != 'end') { $('#cPage').text(parseInt(res.data.page) - 1); } else { $('#cPage').text(res.data.page); } $('#numb').attr('data-current-page', res.data.page); } } }); }
function getAssignBox(value,access_staff_view,trash_contacts=null) { let html=''; const crr_user='<?php echo e(auth('customer')->user()->type); ?>'; if(crr_user && crr_user=='staff'){ return `<div class="text-center dropdown p-3 mt-3"></div>`; } let class_name=''; let flagged=''; if(value.flagged){ flagged='active'; } if(access_staff_view && access_staff_view=='no'){ class_name='d-none' }
let trash_contact=`<button id="trash_contact_${value.id}" type="button" data-contact-id="${value.id}" class="assign-btn-for-all trash_contact"> <i class="fa fa-archive text-danger" aria-hidden="true"></i> </button>`;
if(trash_contacts){ trash_contact=`<button id="trash_contact_${value.id}" type="button" data-contact-id="${value.id}" class="assign-btn-for-all remove_trash_contact"> <i class="fa fa-retweet text-danger" aria-hidden="true"></i> </button>` } html = `<div class="assigned-user-name-section mr-2 text-center ${value.assigned_staff_name.length=='0'?'d-none':''}"><span class="assigned-user-icon">${value.assigned_staff_name}</span></div> <div class="conversation-assigned-sec-icons mt-2"> <button type="button" class="assign-btn-for-all assign_staff_contact ${class_name} ${crr_user=='reseller'?'':'d-none'}" data-campaign-id="${value.campaign_id}" data-contact-id="${value.id}" data-message-id="${value.message_id}"> <i class="fa fa-users" aria-hidden="true"></i> </button> <span class="flagged_contact flagged_active_${value.id} ${flagged}" data-contact-id="${value.id}"> <i class="fa fa-flag text-muted" aria-hidden="true"></i> </span> ${trash_contact} <div class="text-center dropdown d-contents"> <span data-toggle="dropdown" class="chat-from-action"><i class="fas fa-ellipsis-v"></i></span> <div class="dropdown-menu" aria-labelledby="dropdownMenuButton"> <a data-message="Are you sure you want to block this number?" data-action="<?php echo e(route('customer.exception')); ?>" data-input="{"type":"block","number":"${value.number}"}" data-toggle="modal" data-target="#modal-confirm" class="dropdown-item block-from" href="#">Block</a> <a data-message="Are you sure you want to delete full conversation?" data-action="<?php echo e(route('customer.chat.delete')); ?>" data-input="{"number":"${value.number}"}" data-toggle="modal" data-target="#modal-confirm" class="dropdown-item block-from" href="#">Delete</a> </div>
</div> </div>`;
return html; }
// Send Request Con setInterval(function () { const page = $('#numb').attr('data-current-page'); $('.newMessage').remove();
let nmbr = $('.send').attr('data-to-number');
if (page && page == 2) { chatList(); if (nmbr) { $('.send').attr('scroll-top-height', this.scrollTop).attr('scroll-height', this.scrollHeight).attr('offset-height', this.offsetHeight); const scrollTop= parseInt($('.send').attr('scroll-top-height')); const scrollHeight= parseInt($('.send').attr('scroll-height')); const offsetHeight= parseInt($('.send').attr('offset-height'));
if((scrollHeight - scrollTop-offsetHeight)<=500){ nmbr = nmbr.replace('+', '');
$(`.chat[trigger=${nmbr}]`).trigger('click'); } }
} else { let time = []; $('.created-at-for-new-msg').each(function () { time.push($(this).attr('data-date')); }); // newMessage(time[0]);
if (nmbr) { nmbr = nmbr.replace('+', ''); $(`.chat[trigger=${nmbr}]`).trigger('click'); } } }, 10000);
function newMessage(time){ $.ajax({ url: '<?php echo e(route('customer.chat.get.new')); ?>', method: "get", data:{ time:time }, success: function (res) { if (res.status == 'success') { if(res.data && res.data > 0) { let newHtml = `<div class="newMessage"><?php echo e(trans('admin.message.new_message')); ?> <span class="float-right">${res.data}</span></div>`; $('.newMessageAlert').html(newHtml); }else{ $('.newMessageAlert').html(''); } } } }); }
$(document).on('click', '.newMessageAlert', function(e){ $('.newMessage').remove(); chatList(); })
$('#sortBy').on('change', function (e) { e.preventDefault(); const type = $(this).val(); const search = $('#search').val(); const date = $('#reservation').val(); const label_id = $('#filtered_by_label').val(); $.ajax({ url: '<?php echo e(route('customer.chat.get.numbers')); ?>', method: "get", data: { type: type, search: search, date: date, label_id: label_id, page: 1, }, success: function (res) { if (res.status == 'success') { let html = ''; let labels = ''; if (res.data.page != 'end') {
$.each(res.data.numbers, function (index, value) { html += `<div class="chat p-2 c-pointer" data-to-number="${value.number}"> <div class="row"> <div class="col-md-2 col-lg-2 col-2 text-center name-icon-section"> <strong class="name-icon"> ${value.full_name.substring(0, 1)} </strong> </div> <div class="col-md-6 col-lg-6 col-6 text-left message-body-section"> <h6>${value.full_name ? value.full_name : value.number}</h6> <h6>${value.body}</h6> </div> <div class="col-md-4 col-lg-4 d-lg-block d-none text-sm">${value.created_at}</div> </div> </div>`; }); } else { html = '<div class="row"><div class="col-sm-12 text-center">No Data Available</div><div>'; } $('#numb').html(html); if (res.data.page != 'end') { $('#cPage').text(parseInt(res.data.page) - 1); } else { $('#cPage').text(res.data.page); } $('#numb').attr('data-current-page', res.data.page); } } }); });
$(document).on('click', '.applyBtn', function (e) { e.preventDefault(); const date = $('#reservation').val(); const type = $('#sortBy').val(); const search = $('#search').val(); const label_id = $('#filtered_by_label').val(); $.ajax({ url: '<?php echo e(route('customer.chat.get.numbers')); ?>', method: "get", data: { date: date, type: type, search: search, label_id: label_id, page: 1, }, success: function (res) { if (res.status == 'success') { let html = ''; let labels = ''; if (res.data.page != 'end') {
$.each(res.data.numbers, function (index, value) { html += `<div class="chat p-2 c-pointer" data-to-number="${value.number}"> <div class="row"> <div class="col-md-2 col-lg-2 col-2 text-center name-icon-section"> <strong class="name-icon"> ${value.full_name.substring(0, 1)} </strong> </div> <div class="col-md-6 col-lg-6 col-6 text-left message-body-section"> <h6>${value.full_name ? value.full_name : value.number}</h6> <h6>${value.body}</h6> </div> <div class="col-md-4 col-lg-4 d-lg-block d-none text-sm">${value.created_at}</div> </div> </div>`; }); } else { html = '<div class="row"><div class="col-sm-12 text-center">No Data Available</div><div>'; } $('#numb').html(html); if (res.data.page != 'end') { $('#cPage').text(parseInt(res.data.page) - 1); } else { $('#cPage').text(res.data.page); } $('#numb').attr('data-current-page', res.data.page); } } }); });
$(document).on('click', '.filtered_by_label', function (e) { e.preventDefault(); const label_id = $(this).attr('data-id'); $('#filtered_by_label').val(label_id); const date = $('#reservation').val(); const type = $('#sortBy').val(); const search = $('#search').val();
$.ajax({ url: '<?php echo e(route('customer.chat.get.numbers')); ?>', method: "get", data: { label_id: label_id, search: search, date: date, type: type, page: 1, }, success: function (res) { if (res.status == 'success') { let html = ''; let labels = ''; if (res.data.page != 'end') {
$.each(res.data.numbers, function (index, value) { html += `<div class="chat p-2 c-pointer" data-to-number="${value.number}"> <div class="row"> <div class="col-md-2 col-lg-2 col-2 text-center name-icon-section"> <strong class="name-icon"> ${value.full_name.substring(0, 1)} </strong> </div> <div class="col-md-6 col-lg-6 col-6 text-left message-body-section"> <h6>${value.full_name ? value.full_name : value.number}</h6> <h6>${value.body}</h6> </div> <div class="col-md-4 col-lg-4 d-lg-block d-none text-sm">${value.created_at}</div> </div> </div>`; }); } else { html = '<div class="row"><div class="col-sm-12 text-center">No Data Available</div><div>'; } if (res.data.page != 'end') { $('#cPage').text(parseInt(res.data.page) - 1); } else { $('#cPage').text(res.data.page); } $('#numb').attr('data-current-page', res.data.page); $('#numb').html(html); } } }); });
function difference(first, sec) { return Math.abs(first - sec); }
let currentPageNumber = 1; $('#next-page').on('click', function (e) { e.preventDefault(); if(sidebarAjax){ sidebarAjax.abort() }
$('.ajax-loader').removeClass('d-none'); const chats = $('#numb').attr('data-current-page'); const page = chats; const search = $('#search').val(); const label_id = $('#filtered_by_label').val(); const date = $('#reservation').val(); const type = $('#sortBy').val();
if (chats != 'end') { getPaginationData(page, search, label_id, date, type) currentPageNumber++; $('#next-page').removeClass('disabled').removeAttr('disabled', 'disabled'); $('#previous-page').removeClass('disabled').removeAttr('disabled', 'disabled'); } else { $('#next-page').addClass('disabled').attr('disabled', 'disabled'); } });
$('#previous-page').on('click', function (e) { e.preventDefault(); $('.ajax-loader').removeClass('d-none'); const chats = $('#numb').attr('data-current-page'); if (chats > 1 || chats == 'end') {
const page = chats == 'end' ? currentPageNumber - 1 : parseInt(chats) - 2; const search = $('#search').val(); const label_id = $('#filtered_by_label').val(); const date = $('#reservation').val(); const type = $('#sortBy').val(); getPaginationData(page, search, label_id, date, type) currentPageNumber--; $('#previous-page').removeClass('disabled').removeAttr('disabled', 'disabled'); $('#next-page').removeClass('disabled').removeAttr('disabled', 'disabled');
} else { $('#previous-page').addClass('disabled').attr('disabled', 'disabled'); $('#next-page').addClass('disabled').attr('disabled', 'disabled'); } });
function getPaginationData(page, search, label_id, date, type) { $.ajax({ url: '<?php echo e(route('customer.chat.get.numbers')); ?>', method: "GET", data: { page: page, search: search, label_id: label_id, date: date, type: type, }, success: function (res) { already_sent = false; if (res.status == 'success') { if (res.data.numbers) { let html = ''; let labels = '';
$.each(res.data.numbers, function (index, value) { let unread='';
// if(value.unread > 0){ // unread=`<span id="unread_${value.id}" class="unread-msg-counter">${value.unread}</span>`; // }
html += `<div class="chat p-2 c-pointer" data-to-number="${value.number}"> <div class="row created-at-for-new-msg" data-date="${value.createdAt}"> <div class="col-md-2 col-lg-2 col-2 text-center name-icon-section"> <span class="left-side-bubble-icon"><i class="fa fa-user mb-1 text-white"></i></span> </div> <div class="col-md-6 col-lg-6 col-6 text-left message-body-section"> <h6>${value.full_name ? value.full_name : value.number} ${unread}</h6> <h6>${value.body}</h6> </div> <div class="col-md-4 col-lg-4 d-lg-block d-none text-sm">
<small> ${value.created_at} </small> <div class="text-center dropdown"> <span data-toggle="dropdown" class="chat-from-action"><i class="fas fa-ellipsis-v"></i></span> <div class="dropdown-menu" aria-labelledby="dropdownMenuButton"> <a data-message="Are you sure you want to block this number?" data-action="<?php echo e(route('customer.exception')); ?>" data-input="{"type":"block","number":"${value.number}"}" data-toggle="modal" data-target="#modal-confirm" class="dropdown-item block-from" href="#">Block</a> <a data-message="Are you sure you want to delete full conversation?" data-action="<?php echo e(route('customer.chat.delete')); ?>" data-input="{"number":"${value.number}"}" data-toggle="modal" data-target="#modal-confirm" class="dropdown-item block-from" href="#">Delete</a>
</div> </div> </div> </div> </div>`; }); $('#numb').html(html); } if (res.data.page != 'end') { $('#cPage').text(parseInt(res.data.page) - 1); } else { $('#cPage').text(res.data.page); } $('#numb').attr('data-current-page', res.data.page); } $('.ajax-loader').addClass('d-none'); }, error: function (res) { $('.ajax-loader').addClass('d-none'); } }); }
$(document).on('click', '.update_label', function (e) { e.preventDefault(); const label = $(this).attr('data-label'); const number = $(this).attr('data-to-number'); const contact = $(this).attr('have-label'); if (contact == 'no') { $('#addNewContact').modal('show'); $('#addNewContactBtn').attr('data-label', label).attr('data-number', number); return true; } $.ajax({ method: "POST", url: '<?php echo e(route('customer.chat.label.update')); ?>', data: { label: label, number: number, _token: '<?php echo e(csrf_token()); ?>' }, success: function (res) { if (res.status == 'success') { $(document).Toasts('create', { autohide: true, delay: 10000, class: 'bg-success', title: 'Notification', body: res.message, }); const pageNumber = $('#numb').attr('data-current-page'); $('#search').attr('search-page-number', parseInt(pageNumber) - 1); $('#search').trigger('keyup'); } } }); });
$('#to-chat').on('scroll', function () { $('.send').attr('scroll-top-height', this.scrollTop).attr('scroll-height', this.scrollHeight).attr('offset-height', this.offsetHeight); if (this.scrollTop < 20) { if (!already_sent) { already_sent = true; const chats = $('#to-chat').attr('data-current-chats'); const number = $('#active_number').attr('data-to-number');
if (chats != 'end') { $.ajax({ url: '<?php echo e(route('customer.chat.get.chats')); ?>', method: "GET", data: { chats: chats, number: number, }, success: function (res) { already_sent = false; if (res.status == 'success') { let html = ''; $.each(res.data.messages, function (index, value) { let created_at = (new Date(value.created_at)).toLocaleString(); if (value.type == 'sent') { html += `<div class="row no-gutters"><div class="col-md-4 offset-md-8" data-toggle="tooltip" data-placement="left" title="From : ${value.from}"><div class="chat-bubble chat-bubble--right">${value.body}</div><small class="message-sent-time">${created_at}</small></div></div>`; } else { html += `<div class="row no-gutters"><div class="col-md-4" data-toggle="tooltip" data-placement="right" title="To : ${value.to}"><div class="chat-bubble chat-bubble--left">${value.body}</div><small class="message-sent-time">${created_at}</small></div></div>`; } }); $('#to-chat').prepend(html); $('#to-chat').attr('data-current-chats', res.data.page); $('[data-toggle="tooltip"]').tooltip(); } } }); } } }else{ // $('#to-chat').attr('data-current-chats', 2); } });
$(document).on('click', '.response_value', function (e) { let value = $(this).attr('data-title'); var curPos = document.getElementById("message").selectionStart; let x = $("#message").val(); $("#message").val(x.slice(0, curPos) + value + x.slice(curPos)).focus(); $('.emoji-wysiwyg-editor').append(value).focus(); checkCharecter(); $('#showResponse').addClass('d-none'); });
function getRandomColor() { var letters = '0123456789ABCDEF'; var color = '#'; for (var i = 0; i < 6; i++) { color += letters[Math.floor(Math.random() * 16)]; } return color; }
function checkCharecter() { var messageValue = $('#message').val(); var div = parseInt(parseInt(messageValue.length - 1) / 160) + 1; if (div <= 1) { $("#count").text("Characters left: " + (160 - messageValue.length)); } else { $("#count").text("Characters left: " + (160 * div - messageValue.length) + "/" + div); } }
$(document).on('click', '#message', function (e) { checkCharecter(); $('#showResponse').removeClass('d-none'); }); $(document).on('click', '.type_message', function (e) { checkCharecter(); $('#showResponse').removeClass('d-none'); });
$(document).on('keyup', '#message', function (e) { checkCharecter(); $('#showResponse').addClass('d-none'); });
$(document).mouseup(function (e) { var container = $("#message");
// if the target of the click isn't the container nor a descendant of the container if (!container.is(e.target) && container.has(e.target).length === 0) { $("#showResponse").addClass('d-none'); } });
$(document).on('click', '.exception_modal_btn', function (e) { $('#exceptionModal').modal('show'); const number = $(this).attr('data-number'); const type = $(this).attr('data-type'); $('#saveException').attr('data-number', number).attr('data-type', type); if (type == 'add') { $('.exception_message').text('Are you sure to add this number in Exception list') } else { $('.exception_message').text('Are you sure to remove this number from Exception list') }
});
$(document).on('click', '#saveException', function (e) {
const number = $(this).attr('data-number'); const type = $(this).attr('data-type'); const check_add_contact = $('#checkInput:checked').val();
$.ajax({ type: 'post', url: '<?php echo e(route('customer.exception')); ?>', data: { _token: '<?php echo e(csrf_token()); ?>', number: number, type: type, check_add_contact: check_add_contact, }, success: function (res) { if (res.status == 'success') { if (res.type == 'add') { $('#removeException').attr('data-number', number).removeClass('d-none'); $('#addException').addClass('d-none'); $('#exceptionModal').modal('hide'); $('#check_new_contact').addClass('d-none'); $(document).Toasts('create', { autohide: true, delay: 3000, class: 'bg-success', title: 'Notification', body: 'Suppress added successfully', }); } else { $('#removeException').addClass('d-none'); $('#addException').removeClass('d-none').attr('data-number', number); $('#exceptionModal').modal('hide'); $('#check_new_contact').addClass('d-none'); $(document).Toasts('create', { autohide: true, delay: 3000, class: 'bg-success', title: 'Notification', body: 'Suppress removed successfully', }); } }
} }) }); $('#sendUrl').on('click', function (e) { $('#altMessage').text(' ') $('#sendUrl').css('border', '1px solid white'); }) $(document).on('click', '#confirmUrlSend', function (e) { e.preventDefault(); $('#confirmUrlSend').html(' <i class="fa fa-spinner fa-spin"></i> Loading') const number = $(this).attr('data-number'); const data_url = $('#sendUrl').val(); const method = $('#sendUrlMethod').val(); if (!data_url) { $('#sendUrl').css('border', '1px solid red'); $('#altMessage').text('Enter url first') $(document).Toasts('create', { autohide: true, delay: 3000, class: 'bg-danger', title: 'Notification', body: 'Please enter url first', }); return true; } else { $('#sendUrl').css('border', '1px solid white'); } $.ajax({ type: 'POST', url: '<?php echo e(route('customer.send.contact.data')); ?>', data: { _token: '<?php echo e(csrf_token()); ?>', number: number, url: data_url, url_method: method }, success: function (res) { $(document).Toasts('create', { autohide: true, delay: 3000, class: 'bg-success', title: 'Notification', body: 'Data sent successfully', });
$('#confirmUrlSend').text('Confirm') $('#sendCInfoModal').modal('hide'); } }); });
$('#sortBy').trigger('change');
$(document).on('click','.block-from',function(e){ e.preventDefault(); return false; }) $(document).on('click','.delete-from',function(e){ e.preventDefault(); return false; })
</script>
<!-- For Emoji --> <!-- Begin emoji-picker JavaScript --> <script src="<?php echo e(asset('emoji/js/config.min.js')); ?>"></script> <script src="<?php echo e(asset('emoji/js/util.min.js')); ?>"></script> <script src="<?php echo e(asset('emoji/js/jquery.emojiarea.min.js')); ?>"></script> <script src="<?php echo e(asset('emoji/js/emoji-picker.min.js')); ?>"></script> <!-- End emoji-picker JavaScript -->
<script> "use strict";
$(function () { // Initializes and creates emoji set from sprite sheet window.emojiPicker = new EmojiPicker({ emojiable_selector: '[data-emojiable=true]', assetsPath: '<?php echo e(asset('/emoji/img')); ?>', popupButtonClasses: 'fa fa-smile-o' }); // Finds all elements with `emojiable_selector` and converts them to rich emoji input fields // You may want to delay this step if you have dynamically created input fields that appear later in the loading process // It can be called as many times as necessary; previously converted input fields will not be converted again window.emojiPicker.discover(); });
</script> <script> $(document).ready(function () { $('[data-toggle="tooltip"]').tooltip(); }); </script> <script> $(document).ready(function () { $('[data-toggle="tooltip"]').tooltip();
$('#unreadStatus').on('change', function () { $(this).siblings('i').toggleClass('fa-envelope fa-envelope-open text-muted text-success'); });
$('#orderByOldest').on('change', function () { $(this).siblings('i').toggleClass('fa-sort-amount-up fa-sort-amount-down text-muted text-primary'); }); }); </script> <script> // $(document).ready(function() { // $('#select-label').select2({ // placeholder: "<?php echo app('translator')->get('Select tags'); ?>", // allowClear: true, // width: '100%' // }); // }); $(document).on('click', '#work_flow_add', function (e) { $('#work_flow_modal').modal('show'); }); $(document).on('click', '#work_flowConfirm', function (e) { let number = $(this).attr('data-number'); let contactID = $(this).attr('data-contactID'); let messlogID = $(this).attr('data-messlogID'); let workFlowID = $('#selected_work_flow').val(); $.ajax({ url: '<?php echo e(route('customer.chat.add.work.flow')); ?>', method: "GET", data: { number: number, contactID:contactID, messlogID:messlogID, workFlowID:workFlowID }, success: function (res) { if(res.status == 'error'){ $(document).Toasts('create', { autohide: true, delay: 3000, class: 'bg-danger', title: 'Notification', body: res.message, }); return true; }
} }); $('#work_flow_modal').modal('hide');
}); $(document).on('change', '#selected_work_flow', function (e) { let ids = $(this).attr('data-workflowid'); let number = $(this).attr('data-number'); let selected_work_flow = $(this).val();
if (ids) { let idArray = ids.split(',');
if (idArray.includes(selected_work_flow)) { $('#error_spn').text('This contact is already under this WorkFlow.'); $('#work_flowConfirm').prop('disabled', true); } else { $('#error_spn').text('Are you sure you want to add another WorkFlow?'); $('#work_flowConfirm').prop('disabled', false); } } });
</script> </body>
</html> <?php /**PATH /home/picotech/domains/sms.picotech.app/public_html/resources/views/customer/conversation/index.blade.php ENDPATH**/ ?>
|