/home/mip/www/img/credit/datatables/questionnaire.tar
template/action.blade.php000066400000002652151246224740011431 0ustar00<div class="btn-group dropup">
    <button type="button" class="btn btn-warning btn-sm dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
        Action <span class="caret"></span>
        <span class="sr-only">Toggle Dropdown</span>
    </button>
    <ul class="dropdown-menu dropdown-menu-right">
        @can('update', $permissions)
        <li><a href="{{ url(config('modules.client').'/questionnaire/'.$template->hashid.'/edit') }} "><i class="fa fa-pencil"></i> Edit Template</a></li>
        <li><a href="{{ url(config('modules.client').'/questionnaire/'.$template->hashid.'/copy') }} " id="copy-template"><i class="fa fa-copy"></i> Duplicate</a></li>
        @endcan
        @can('delete', $permissions)
        <li role="separator" class="divider"></li>
        <li><a href="#delete-{{ $template->hashid }} " id="btn-delete" data-action="{{ url(config('modules.client').'/questionnaire/'.$template->hashid) }}"><i class="fa fa-trash-o"></i> Delete</a></li>
        @endcan
        <li role="separator" class="divider"></li>
        @can('update', $permissions)
        <li><a href="{{ route(config('modules.client').'.questionnaire.question.create', $template->hashid) }}"><i class="fa fa-plus-circle"></i> Add Question</a></li>
        @endcan
        <li><a href="{{ route(config('modules.client').'.questionnaire.preview', $template->hashid) }}"><i class="fa fa-eye"></i> Preview</a></li>
    </ul>
</div>template/form.blade.php000066400000001341151246224740011111 0ustar00<div class="form-group {{ $errors->has('title') ? ' has-error' : '' }}">
    <label class="control-label col-md-3">Title: <i class="required">*</i></label>
    <div class="col-md-9">
        {!! Form::text('title', null , ['class'=>'form-control', 'placeholder'=>'Questionnaire template title...', 'autocomplete'=>'off']) !!}
    </div>
</div>

<div class="form-group {{ $errors->has('description') ? ' has-error' : '' }}">
    <label class="control-label col-md-3">Description: <i class="required">*</i></label>
    <div class="col-md-9">
        {!! Form::textarea('description', null , ['class'=>'form-control wysihtml5', 'placeholder'=>'Questionnaire template short description here...', 'autocomplete'=>'off']) !!}
    </div>
</div>template/js.blade.php000066400000002140151246224740010560 0ustar00<script src="http://maps.googleapis.com/maps/api/js?key=AIzaSyB4CBr0reSrrQ9EuBFxPVM_TzbuV3uBow4&libraries=places"></script>
<script type="text/javascript" src="{{ asset('vendor/jsvalidation/js/jsvalidation.js')}}"></script>
{!! JsValidator::formRequest('QxCMS\Modules\Client\Requests\Questionnaire\TemplateRequest', 'form#add-questionnaire-template-modal-form'); !!}
<script type="text/javascript">
    $.validator.setDefaults({ ignore: '' });
    $(function(){
        $('textarea[name="description"]').wysihtml5({
            toolbar: {
                "font-styles": true, // Font styling, e.g. h1, h2, etc.
                "emphasis": true, // Italics, bold, etc.
                "lists": false, // (Un)ordered lists, e.g. Bullets, Numbers.
                "html": false, // Button which allows you to edit the generated HTML.
                "link": false, // Button to insert a link.
                "image": false, // Button to insert an image.
                "color": false, // Button to change color of font
                "blockquote": false, // Blockquote
            }
        });
    });

    
</script>

template/preview.blade.php000066400000010420151246224740011625 0ustar00@extends('Client::layouts')
@section('page-body')
    <!-- Content Header (Page header) -->
    <section class="content-header">
        <h1>
            <i class="fa fa-pencil"></i> Preview Questionnaire
        </h1>
        <ol class="breadcrumb">
            <li><a href="{{ route(config('modules.client').'.questionnaire.index') }}"><i class="fa fa-question-circle-o"></i> Questionnaire</a></li>            
            <li class="active">Edit</li>            
        </ol>
    </section>
    <!-- Main content -->
    <section class="content"> 
        @include('Client::message')
       
       
        <div class="row">
            <div class="col-sm-3">
                 @include('Client::questionnaire.nav', array('nav' => 'preview'))
            </div>
            <div class="col-sm-9">
                <div class="nav-tabs-custom">
                    <ul class="nav nav-tabs">
                      <li class="active"><a href="#web_view" data-toggle="tab"><i class="fa fa-globe"></i> Web View</a></li>
                      <li><a href="#mobile_view" data-toggle="tab"><i class="fa fa-mobile"></i> Mobile View</a></li>
                    </ul>
                    <div class="tab-content">
                        <div class="tab-pane active fade in" id="web_view">
                            @include('Client::questionnaire.template.includes.browser')
                        </div>
                        <div class="tab-pane" id="mobile_view">
                            @include('Client::questionnaire.template.includes.mobile')
                        </div>
                    </div>
                </div>
                <input type="text" name="loc_lat">
                <input type="text" name="loc_long">
            </div>
        </div>
       
        
    </section>
@stop
@section('page-css')
@include('Client::questionnaire.template.includes.css')
@stop
@section('page-js')
<script type="text/javascript" src="{{ get_template('plugins/survey-jquery/survey.jquery.min.js') }}"></script>
<script type="text/javascript">
Survey.Survey.cssType = "bootstrap";
var myCss = {
   // "root":'box box-primary',
    "header": "text-center",
    //"body": "box-body",
    "footer": "box-footer  text-center",
   /* "pageTitle":'box-title',*/
   "navigation": {
        "complete": "btn-success",
        "prev": "btn-primary",
        "next": "btn-warning"
    },
    "error": {
        "root": "",
        "icon": "glyphicon glyphicon-exclamation-sign",
        "item": "text-danger"
    },
    navigationButton: "btn btn-lg btn-flat"   
};

function loadSurvey(element)
{
    $.ajax({
        url: '/api/get-questionnaire',
        type: 'GET',
        data: {'template_id': '{{ $template->id }}'},
    })
    .done(function(response) {
        var survey = new Survey.Model(response);
        $("#" + element).Survey({
            model:survey,
            onComplete:sendDataToServer,
            css:myCss
        });
    })
    .fail(function() {
        console.log("error");
    })
    .always(function() {
        console.log("complete");
    });
    
}

loadSurvey('css-device--browser-container');
$('a[data-toggle="tab"').on('shown.bs.tab', function (e) {
    var active = $(e.target);
    var tab = active.attr('href');
    if(tab == '#mobile_view') loadSurvey('css-device--mobile-container');
    else  loadSurvey('css-device--browser-container');
    
})
function sendDataToServer(survey) {
    var resultAsString = JSON.stringify(survey.data);
    var pos = {
        loc_lat:$('input[name="loc_lat"]').val(),
        loc_long:$('input[name="loc_lat"]').val(),
    }
    $.ajax({
    url: '/api/save-participant',
        type: 'GET',
        data: {
            answers:survey.data,
            template_id: '{{ $template->id }}',
            pos:pos
        }
    })
    .done(function(response) {
        
    })
    .fail(function() {
        console.log("error");
    })
    .always(function() {
        console.log("complete");
    });
}


    function initMap() {

        if (navigator.geolocation) {
            navigator.geolocation.getCurrentPosition(function(position) {
                $('input[name="loc_lat"]').val(position.coords.latitude);
                $('input[name="loc_long"]').val(position.coords.longitude);
            });
        } 
    }

   initMap();
</script>



@include('Client::notify')
@stoptemplate/includes/css.blade.php000066400000011413151246224740012545 0ustar00<style type="text/css">
  .box-header>.fa, .box-header>.glyphicon, .box-header>.ion, .box-header .box-title, .box-header h3 {
      display: inline-block;
      font-size: 18px;
      margin: 0;
      line-height: 1;
  }
</style>


<style type="text/css">
    /* =============================================================================
  COMMON STUFF FOR CSS DEVICES
============================================================================= */
.css-device {
  position: relative;
  margin: 0 auto;
  min-height: 500px;
}

.css-device__image {
  display: block;
  margin: 0;
  padding: 0;
  width: 100%;
  height: auto;
}

/* =============================================================================
  BROWSER
============================================================================= */
.css-device--browser {
  width: 100%;
  /* max-width: 100%; set max width here if you need to. */
  border-top: solid 36px #dfdfdf;
  border-right: solid 2px #dfdfdf;
  border-left: solid 2px #dfdfdf;
  border-bottom: solid 2px #dfdfdf;
  border-radius: 4px 4px 0 0;
}

.css-device--browser::before {
  display: block;
  position: absolute;
  top: -24px;
  left: 12px;
  width: 12px;
  height: 12px;
  background-color: #ff3366;
  border-radius: 12px;
  box-shadow: 0 0 0 0 #ff3366, 16px 0 0 0 #ffcc99, 32px 0 0 0 #33ff66;
  content: "";
}

.css-device--browser::after {
  display: block;
  overflow: hidden;
  position: absolute;
  top: -27px;
  right: 12px;
  padding: 0 4px;
  width: 180px;
  height: 18px;
  color: #b3b3b3;
  background-color: #fff;
  font-size: 12px;
  font-style: italic;
  line-height: 18px;
  border-radius: 2px;
  content: attr(data-url);
}

@media all and (min-width: 480px) {
  .css-device--browser {
    border-top: solid 48px #dfdfdf;
  }

  .css-device--browser::before {
    top: -30px;
    box-shadow: 0 0 0 0 #ff3366, 24px 0 0 0 #ffcc99, 48px 0 0 0 #33ff66;
  }

  .css-device--browser::after {
    top: -36px;
    right: 12px;
    padding: 0 8px;
    width: 240px;
    height: 24px;
    line-height: 24px;
  }
}
/* =============================================================================
  TABLET
============================================================================= */
.css-device--tablet {
  position: relative;
  width: 264px;
  border-top: solid 48px #ddd;
  border-left: solid 12px #ddd;
  border-right: solid 12px #ddd;
  border-bottom: solid 48px #ddd;
  border-radius: 12px;
}

.css-device--tablet::before {
  display: block;
  position: absolute;
  top: -26px;
  left: 50%;
  margin-left: -2px;
  width: 4px;
  height: 4px;
  background-color: #bbb;
  border-radius: 4px;
  content: "";
}

.css-device--tablet::after {
  display: block;
  position: absolute;
  bottom: -36px;
  left: 50%;
  margin-left: -12px;
  width: 24px;
  height: 24px;
  background-color: #bbb;
  border-radius: 12px;
  content: "";
}

@media all and (min-width: 720px) {
  .css-device--tablet {
    width: 396px;
    border-top: solid 72px #ddd;
    border-left: solid 18px #ddd;
    border-right: solid 18px #ddd;
    border-bottom: solid 72px #ddd;
    border-radius: 18px;
  }

  .css-device--tablet::before {
    top: -39px;
    margin-left: -3px;
    width: 6px;
    height: 6px;
    border-radius: 6px;
  }

  .css-device--tablet::after {
    bottom: -54px;
    margin-left: -18px;
    width: 36px;
    height: 36px;
    border-radius: 18px;
    content: "";
  }
}
/* =============================================================================
  MOBILE
============================================================================= */
.css-device--mobile {
  width: 184px;
  border-top: solid 24px #ddd;
  border-left: solid 12px #ddd;
  border-right: solid 12px #ddd;
  border-bottom: solid 48px #ddd;
  border-radius: 12px;
}

.css-device--mobile::before {
  display: block;
  position: absolute;
  top: 12px;
  left: -14px;
  width: 2px;
  height: 12px;
  background-color: #bbb;
  box-shadow: 0 0 0 0 #bbb, 0 24px 0 0 #bbb;
  border-radius: 2px 0 0 2px;
  content: "";
}

.css-device--mobile::after {
  display: block;
  position: absolute;
  bottom: -36px;
  left: 50%;
  margin-left: -12px;
  width: 24px;
  height: 24px;
  background-color: #bbb;
  border-radius: 12px;
  content: "";
}

@media all and (min-width: 720px) {
  .css-device--mobile {
    width: 276px;
    border-top: solid 36px #ddd;
    border-left: solid 18px #ddd;
    border-right: solid 18px #ddd;
    border-bottom: solid 72px #ddd;
    border-radius: 18px;
  }

  .css-device--mobile::before {
    top: 18px;
    left: -21px;
    width: 3px;
    height: 18px;
    background-color: #bbb;
    box-shadow: 0 0 0 0 #bbb, 0 36px 0 0 #bbb;
    border-radius: 3px 0 0 3px;
    content: "";
  }

  .css-device--mobile::after {
    bottom: -54px;
    margin-left: -18px;
    width: 36px;
    height: 36px;
    border-radius: 18px;
    content: "";
  }
}

</style>template/includes/browser.blade.php000066400000000461151246224740013441 0ustar00<div class="component">
  <div class="css-device css-device--browser" data-url="http://">
        <div class="row" style="margin-top:60px;">
            <div class="col-md-8 col-md-offset-2">
                <div id="css-device--browser-container" ></div>
            </div>
        </div>
  </div>
</div>template/includes/mobile.blade.php000066400000000370151246224740013224 0ustar00<div class="component">
  <div class="css-device css-device--mobile">
    <div class="row" style="margin-top:60px;">
        <div class="col-md-12">
            <div id="css-device--mobile-container"></div>
        </div>
    </div>
  </div>
</div>template/create-modal.blade.php000066400000002074151246224740012507 0ustar00{!! Form::open(['route' => config('modules.client').'.questionnaire.store', 'method' => 'POST', 'class' => 'form-horizontal', 'id' => 'add-questionnaire-template-modal-form']) !!}
<div class="modal fade" id="add-questionnaire-template-modal" tabindex="-1" role="dialog" aria-labelledby="myAddQuestionnaireTemplateModal">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                <h4 class="modal-title" id="myAddQuestionnaireTemplateModal"><i class="fa fa-plus"></i> Add Questionnaire Template</h4>
            </div>
            <div class="modal-body">
                @include('Client::questionnaire.template.form')
            </div>
            <div class="modal-footer">
                <button type="submit" class="btn btn-flat btn-primary"><i class="fa fa-save"></i> Save </button>
            </div>
        </div>
    </div>
</div>
{!! Form::close() !!}template/index.blade.php000066400000012674151246224740011270 0ustar00@extends('Client::layouts')
@section('page-body')
    <!-- Content Header (Page header) -->
    <section class="content-header">
        <h1>
            <i class="fa fa-{{$pageIcon ? $pageIcon : 'angle-double-right'}}" aria-hidden="true"></i> {{$pageTitle}}
            <br>
            <small>{{$pageDescription}}</small>
        </h1>
        <ol class="breadcrumb">
            <li class="active"><i class="fa fa-{{$pageIcon ? $pageIcon : 'angle-double-right'}}"></i> {{$pageTitle}}</li>           
        </ol>
    </section>
    <!-- Main content -->
    <section class="content"> 
        @include('Client::message')
        <div class="box box-default">
            <div class="box-header with-border">
                <h3 class="box-title">List of Questionnaire Template</h3>
                @can('create', $permissions)
                    <span class="pull-right">
                        <a href="#add-questionnaire-template-modal" data-toggle="modal" title="Add Questionnaire Template"><button class="btn btn-primary btn-flat"><i class="fa fa-plus-circle"></i> Add {{$pageModuleName}}</button></a>
                    </span>
                @endcan
            </div>
            <div class="box-body">
                <table class="table table-bordered table-striped table-hover" id="questionnaire-table" width="100%">
                    <thead>
                        <tr>
                            <th>#</th>
                            <th>Title</th>
                            <th>Created At</th>
                            <th>Action</th>
                        </tr>
                    </thead>
               </table>
            </div>                
        </div>
        @include('Client::logs')
    </section>
    @include('Client::questionnaire.template.create-modal')
@stop
@section('page-js')
@include('Client::questionnaire.template.js')
<script type="text/javascript">
$(function() {
    var questionnaireTable = $('#questionnaire-table').DataTable({
        processing: true,
        serverSide: true,
        "pagingType": "input",
        rowReorder: true,
        ajax: {
            url:'{!! url(config('modules.client').'/questionnaire/get-template-data') !!}',            
        },
        columns: [
            {
                width:'10px', searchable: false, orderable: false,
                render: function (data, type, row, meta) {
                    return meta.row + meta.settings._iDisplayStart + 1;
                }
            },
            { data: 'description', name: 'description', orderable: false, searchable: false},
            { data: 'created_at', name: 'created_at', width:'100px', className:'text-center'},
            { data: 'action', name: 'action', orderable: false, searchable: false, width:'100px', className:'text-center'},
        ],
        fnDrawCallback: function ( oSettings ) {
            $('[data-toggle="tooltip"]').tooltip();
            questionnaireTable.$("td").on("click", 'a#btn-delete', function() {
                var action = $(this).data('action');
                swal({
                    title: 'Are you sure you want to delete?',
                    text: "This will be permanently deleted.",
                    type: 'warning',
                    showCancelButton: true,
                    confirmButtonColor: '#3085d6',
                    cancelButtonColor: '#d33',
                    confirmButtonText: 'Yes'
                    }).then(function () {                    
                    $.ajax({
                        type: "DELETE",
                        url: action,
                        dataType: 'json',
                        success: function(data) {
                            if(data.type == "success") {
                                questionnaireTable.draw();
                                swal(data.message, '', 'success')
                           }else{
                                swal(data.message, '', 'error')
                           }
                        },
                        error :function( jqXhr ) {
                            swal('Unable to delete.', 'Please try again.', 'error')
                        }
                    });
                })
            });

            questionnaireTable.$("td").on("click", 'a#copy-template', function() {
                    var action = $(this).attr('href');
                    swal({
                        title: '',
                        text: "Are you sure you want to make a copy of this template?",
                        type: 'warning',
                        showCancelButton: true,
                        confirmButtonColor: '#3085d6',
                        cancelButtonColor: '#d33',
                        confirmButtonText: 'Yes'
                        }).then(function () {             
                            $.ajax({
                                type: "POST",
                                url: action,
                                dataType: 'json',
                                success: function(data) {
                                    questionnaireTable.draw();
                                },
                                error :function( jqXhr ) {
                                    swal('Unable to copy.', 'Please try again.', 'error')
                                }
                            });
                        });
                    return false;
                });
        },
        "order": [[2, "desc"]],
    });
});
</script>
@include('Client::notify')
@stoptemplate/edit.blade.php000066400000004764151246224740011107 0ustar00@extends('Client::layouts')
@section('page-body')
    <!-- Content Header (Page header) -->
    <section class="content-header">
        <h1>
            <i class="fa fa-pencil"></i> Edit Questionnaire
        </h1>
        <ol class="breadcrumb">
            <li><a href="{{ route(config('modules.client').'.questionnaire.index') }}"><i class="fa fa-question-circle-o"></i> Questionnaire</a></li>            
            <li class="active">Edit</li>            
        </ol>
    </section>
    <!-- Main content -->
    <section class="content"> 
        @include('Client::message')
       
        {!! Form::model($template, array('route' => [config('modules.client').'.questionnaire.update', $template->hashid], 'class' => 'form-horizontal', 'method' => 'PUT', 'id' => 'questionnaire-template-form')) !!}
        <div class="row">
            <div class="col-sm-3">
                 @include('Client::questionnaire.nav', array('nav' => 'options'))
            </div>
            <div class="col-sm-9">
                <div class="box box-default">
                    <div class="box-header">
                        <h3 class="box-title">@include('Client::all-fields-are-required')</h3>
                    </div>
                    <div class="box-body">
                        @include('Client::questionnaire.template.form')
                    </div>
                </div>
            </div>
        </div>
        <div class="row">
            <div class="col-sm-offset-9 col-md-3">
                <button class="btn btn-flat btn-warning btn-lg btn-block" data-loading-text="<i class='fa fa-spin fa-circle-o-notch'></i> Saving.." id="template-save-btn"><i class="fa fa-save"></i> Save Changes</button>
            </div>
        </div>
        {!! Form::close() !!}
        <br>
        @include('Client::logs')
    </section>
    @include('Client::questionnaire.template.create-modal')
@stop
@section('page-js')
@include('Client::questionnaire.template.js')
{!! JsValidator::formRequest('QxCMS\Modules\Client\Requests\Questionnaire\TemplateRequest', 'form#questionnaire-template-form'); !!}
<script type="text/javascript">
    $(function(){
        $('#template-save-btn').on('click', function(){
            var btn = $(this);
            btn.button('loading');
            if(!$('#questionnaire-template-form').valid()){
                setTimeout(function(){
                    btn.button('reset');
                }, 500);
                return false;
            }
        });
    });
</script>
@include('Client::notify')
@stopquestion/create.blade.php000066400000007652151246224740011460 0ustar00@extends('Client::layouts')
@section('page-body')

    <section class="content-header">
        <h1>
            <i class="fa fa-plus"></i> Add Question
        </h1>
        <ol class="breadcrumb">
            <li><a href="{{ route(config('modules.client').'.questionnaire.index') }}"><i class="fa fa-question-circle-o"></i> Questionnaire</a></li> 
            <li><a href="{{ route(config('modules.client').'.questionnaire.question.index', $template->hashid) }}">Question</a></li>              
            <li class="active">Add</li>            
        </ol>
    </section>

    <section class="content"> 
        @include('Client::message')
        {!! Form::open(array('route' => [config('modules.client').'.questionnaire.question.store', $template->hashid],'class' => 'form-horizontal', 'method' => 'POST', 'id' => 'question-form')) !!}
        <div class="row">
            <div class="col-sm-12">
                <div class="box box-default">
                    <div class="box-header">
                        <h3 class="box-title">@include('Client::all-fields-are-required')</h3>
                    </div>
                    <div class="box-body">
                       @include('Client::questionnaire.question.form')
                    </div>
                </div>
            </div>
        </div>
        <div class="row">
            <div class="col-md-4 col-md-offset-2">
                <button class="btn btn-flat btn-lg btn-block btn-primary" data-loading-text="<i class='fa fa-circle-o-notch fa-spin'></i> Saving..." name="_save" value="add" id="add-question-btn"><i class="fa fa-save"></i> Save New Question</button>
            </div>
            <div class="col-md-4">
                <button class="btn btn-flat btn-lg btn-block btn-default" data-loading-text="<i class='fa fa-circle-o-notch fa-spin'></i> Saving..." name="_save" value="add_another" id="add-another-question-btn"><i class="fa fa-save"></i> Save & Add New Question</button>
            </div>
        </div>
        {!! Form::close() !!}
    </section>
    @include('Client::questionnaire.template.create-modal')
@stop
@section('page-css')
<style type="text/css">
    .checkbox label, .radio label {
        min-height: 20px;
         padding-left: 0px !important; 
        margin-bottom: 0;
        font-weight: bold !important;
        cursor: pointer;
    }
</style>
@stop
@section('page-js')
@include('Client::questionnaire.template.js')
@include('Client::questionnaire.question.js')
<script type="text/javascript">
    $(function(){
        $('#add-another-question-btn').on('click', function(){
            var btn_another = $(this);
            var btn = $('#add-question-btn');

            btn_another.parent().addClass('col-md-offset-4');

            btn.parent().removeClass('col-md-4').hide();
            btn_another.button("loading");

            if(!$('#question-form').valid()) {
                setTimeout(function(){
                    btn_another.parent().removeClass('col-md-offset-4');
                    
                    btn.parent().addClass('col-md-4').show();
                    btn_another.button("reset");
                }, '300');
                return false;
            }
        });

         $('#add-question-btn').on('click', function(){
            var btn_another = $(this);
            var btn = $('#add-another-question-btn');

            btn_another.parent().removeClass('col-md-offset-2').addClass('col-md-offset-4');
            
            btn.parent().removeClass('col-md-4').hide();
            btn_another.button("loading");

            if(!$('#question-form').valid()) {
                setTimeout(function(){
                    btn_another.parent().removeClass('col-md-offset-4').addClass('col-md-offset-2');
                    btn.parent().addClass('col-md-4').show();
                    btn_another.button("reset");
                }, '300');
                return false;
            }
        });
    });
</script>
@include('Client::notify')
@stopquestion/form.blade.php000066400000006540151246224740011153 0ustar00<div class="form-group">
    <label class="control-label col-sm-2">Title <i class="required">*</i></label>
    <div class="col-sm-10">
        {!! Form::text('title', null, ['class' => 'form-control ', 'placeholder' => 'Enter question title here.', 'data-focus' => 'true']) !!}
        {!! $errors->first('title', '<span class="text-red">:message</span>') !!}
    </div>
</div>

<div class="form-group">
    <div class="col-sm-offset-2 col-sm-9">
        <div class="checkbox">
            <label>
                {!! Form::checkbox('required', 1, null) !!} Required
            </label>

        </div>
    </div>
</div>

<div class="form-group">
    <label class="control-label col-sm-2">Question Type</label>
    <div class="col-sm-4">
        <div class="input-group" style="{{ (isset($question->question_type) && $question->question_type == '2') ? 'display: table;':'display:block;'  }}">
            {!! Form::select('question_type', $question_types, null , array('class' => 'form-control')) !!}
            <div class="input-group-btn multiple-choice-add-btn" style="{{ (isset($question->question_type) && $question->question_type == '2') ? 'display: table-cell;':'display:none;'  }}">
                <button class="btn btn-primary btn-flat" type="button" id="add-answer-btn"><i class="fa fa-plus"></i></button>
            </div>

        </div>
    </div>
</div>
<div class="multiple-choice" style="{{ (isset($question->question_type) && $question->question_type == '2') ? 'display: block;':'display:none;'  }}">
 
    <div class="choices">
        <div class="form-group">
            <label class="control-label col-sm-2">Choice 1. <i class="required">*</i></label>
            <div class="col-sm-10">
                <!-- <div class="input-group"> -->
                    <input type="text" name="name[{{ ((isset($question->answers[0])) ? $question->answers[0]->id:'new_1') }}]" value="{{ ((isset($question->answers[0])) ? $question->answers[0]->name:null) }}" class="form-control" placeholder="New Choice"/>
                <!-- </div> -->
            </div>
        </div>
        @if(isset($question->answers))
            @if(!empty($question->answers))

                @foreach($question->answers as $ans_key => $answer)
                    @if($ans_key <> 0)
                    <div class="form-group">
                        <label class="control-label col-sm-2">Choice {{ $ans_key + 1 }}. <i class="required">*</i></label>
                        <div class="col-sm-10">
                            <div class="input-group">
                                <input type="text" name="name[{{ $answer->id }}]" value="{{ $answer->name }}" class="form-control"/>
                                <div class="input-group-btn">
                                    <button class="btn btn-danger btn-flat" type="button" id="remove-answer-btn"><i class="fa fa-times"></i></button>
                                </div>
                            </div>
                        </div>
                    </div>
                    @endif
                @endforeach
            @endif
        @endif
    </div>
    <div class="form-group">
        <div class="col-sm-offset-2 col-sm-9">
            <div class="checkbox">
                <label>
                    {!! Form::checkbox('multiple_select', 1, null) !!} Select multiple
                </label>
            </div>
        </div>
    </div>
</div>question/js.blade.php000066400000005550151246224740010624 0ustar00<script type="text/javascript" src="{{ asset('vendor/jsvalidation/js/jsvalidation.js')}}"></script>
{!! JsValidator::formRequest('QxCMS\Modules\Client\Requests\Questionnaire\QuestionRequest', 'form#question-form'); !!}
<script type="text/javascript">
    $(function(){
        $('input').iCheck({
          checkboxClass: 'icheckbox_square-blue',
          radioClass: 'iradio_square-blue',
          increaseArea: '20%' // optional
        });

        $('body').on('click', 'button#add-answer-btn', function(e){
            var counter = $('form#question-form input[name^="name"]').length + 1;

            var limit = 10;
            if (counter > limit)  {
                  alert("You have reached the maximum limit of choices.");
                  return false
            }
            var new_input = "<div class=\"form-group\">";
                    new_input += "<label class=\"control-label col-sm-2\">Choice "+ counter +". <i class=\"required\">*</i></label>";
                    new_input += "<div class=\"col-sm-10\">";
                        new_input += "<div class=\"input-group\">"
                            new_input += "<input type=\"text\" name=\"name[new_"+counter+"]\" class=\"form-control\" placeholder=\"New Choice\">";
                            new_input += "<div class=\"input-group-btn\">";
                                new_input += "<button class=\"btn btn-flat btn-danger\" type=\"button\" id=\"remove-answer-btn\"><i class=\"fa fa-times\"></i></button>";           
                            new_input += "</div>";
                        new_input += "</div>";
                       /* new_input += "<div class=\"input-controls\">";
                            new_input += "<i class=\"remove-submit fa fa-times\"></i>";
                            new_input += "<i class=\"sort-submit fa fa-arrows-v\"></i>";
                        new_input += "</div>";*/
                    new_input += "</div>";
                new_input += "</div>";

            $('.choices').append(new_input);
      
            return false;  
            
        });

        $('body').on('click', 'button#remove-answer-btn', function(e){
            $(this).closest('.form-group').remove();
        });

        $('select[name="question_type"]').on('change', function(){
            var selected = $(this).val();
      
            if(selected=='2')
            {
                $('.multiple-choice').css({'display':'block'});
                $('.multiple-choice-add-btn').css({'display':'table-cell'});
                $('.multiple-choice-add-btn').closest('.input-group').css({'display':'table'});
            } else {
                $('.multiple-choice').css({'display':'none'});
                $('.multiple-choice-add-btn').closest('.input-group').css({'display':'block'});
                $('.multiple-choice-add-btn').css({'display':'none'});
            }
        });
    });
</script>question/index.blade.php000066400000015737151246224740011327 0ustar00@extends('Client::layouts')
@section('page-body')
    <!-- Content Header (Page header) -->
    <section class="content-header">
        <h1>
            <i class="fa fa-question-circle-o"></i> Manage Questions
        </h1>
        <ol class="breadcrumb">
            <li><a href="{{ route(config('modules.client').'.questionnaire.index') }}"><i class="fa fa-question-circle-o"></i> Questionnaire</a></li>            
            <li class="active">Question</li>            
        </ol>
    </section>
    <!-- Main content -->
    <section class="content"> 

        @include('Client::message')
        
        <div class="row">
            <div class="col-sm-3">
                 @include('Client::questionnaire.nav', array('nav' => 'questions'))
            </div>
            <div class="col-sm-9">
                <div class="box box-default">
                    <div class="box-header">
                        <div class="page-header">
                            <h2>{{ $template->title }}</h2>
                        </div>
                        <h3 class="box-title">List of Questions</h3>
                        @can('create', $permissions)
                            <span class="pull-right">
                                <a href="{{ route(config('modules.client').'.questionnaire.question.create', $template->hashid) }}" data-toggle="modal" title="Add Question"><button class="btn btn-primary btn-flat"><i class="fa fa-plus-circle"></i> Add Question</button></a>
                            </span>
                        @endcan
                    </div>
                    <div class="box-body">
                       <table class="table table-bordered table-striped table-hover" id="question-table" width="100%">
                            <thead>
                                <tr>
                                    <th>#</th>
                                    <th>Title</th>
                                    <th>Question Type</th>
                                    <th>Action</th>
                                </tr>
                            </thead>
                       </table>
                    </div>
                </div>
                @include('Client::questionnaire.question.logs')
            </div>
        </div>
    </section>
    @include('Client::questionnaire.template.create-modal')
@stop
@section('page-js')
@include('Client::questionnaire.template.js')
<script type="text/javascript">
    $(function() {
        var questionTable = $('#question-table').DataTable({
            dom:"<'row'<'col-sm-6'l><'col-sm-6'f>>" +
            "<'row'<'col-sm-12'tr>>" +
            "<'row'<'col-sm-5'i><'col-sm-7'p>>",
            processing: true,
            serverSide: true,
            "pagingType": "input",
            rowReorder: true,
            filter:false,
            paging:false,
            scrollY: 200,
            scrollCollapse: true,
            ajax: {
                url:"{!! url(config('modules.client').'/questionnaire/'.$template->hashid.'/get-question-data') !!}",            
            },
            columns: [
                {
                    width:'10px', searchable: false, orderable: false,
                    render: function (data, type, row, meta) {
                        var no = meta.row + meta.settings._iDisplayStart + 1;
                        return 'Q.' + no.toString();
                    }
                },
                { data: 'title', name: 'title', orderable:false, searchable:false},
                { data: 'question_type_name', name: 'question_type', orderable:false,width:'100px',  searchable:false},
                { data: 'action', name: 'action', orderable: false, searchable: false, width:'100px', className:'text-center'},
            ],
            fnDrawCallback: function ( oSettings ) {
                $('[data-toggle="tooltip"]').tooltip();
                @can('update', $permissions)
                $('#question-table').tableDnD({
                    onDrop: function(table, row) {
                        $.post("{!! route(config('modules.client').'.questionnaire.question.sort', $template->hashid) !!}?", $.tableDnD.serialize(),function(data, status){
                            questionTable.draw(false);
                        });
                    }
                });
                @endcan
                questionTable.$("td").on("click", 'a#copy-question', function() {
                    var action = $(this).attr('href');
                    swal({
                        title: '',
                        text: "Are you sure you want to make a copy of this question?",
                        type: 'warning',
                        showCancelButton: true,
                        confirmButtonColor: '#3085d6',
                        cancelButtonColor: '#d33',
                        confirmButtonText: 'Yes'
                        }).then(function () {             
                            $.ajax({
                                type: "POST",
                                url: action,
                                dataType: 'json',
                                success: function(data) {
                                    questionTable.draw();
                                },
                                error :function( jqXhr ) {
                                    swal('Unable to copy.', 'Please try again.', 'error')
                                }
                            });
                        });
                    return false;
                });
                questionTable.$("td").on("click", 'a#btn-delete', function() {
                    var action = $(this).data('action');
                    swal({
                        title: 'Are you sure you want to delete?',
                        text: "This question and its answers will be permanently deleted.",
                        type: 'warning',
                        showCancelButton: true,
                        confirmButtonColor: '#3085d6',
                        cancelButtonColor: '#d33',
                        confirmButtonText: 'Yes'
                        }).then(function () {                    
                        $.ajax({
                            type: "DELETE",
                            url: action,
                            dataType: 'json',
                            success: function(data) {
                                if(data.type == "success") {
                                    questionTable.draw();
                                    swal(data.message, '', 'success')
                               }else{
                                    swal(data.message, '', 'error')
                               }
                            },
                            error :function( jqXhr ) {
                                swal('Unable to delete.', 'Please try again.', 'error')
                            }
                        });
                    })
                });
            },
            "order": [],
        });
    });
</script>
</script>
@include('Client::notify')
@stopquestion/edit.blade.php000066400000006201151246224740011127 0ustar00@extends('Client::layouts')
@section('page-body')

    <section class="content-header">
        <h1>
            <i class="fa fa-pencil"></i> Edit Question
        </h1>
        <ol class="breadcrumb">
            <li><a href="{{ route(config('modules.client').'.questionnaire.index') }}"><i class="fa fa-question-circle-o"></i> Questionnaire</a></li> 
            <li><a href="{{ route(config('modules.client').'.questionnaire.question.index', $template->hashid) }}">Question</a></li>              
            <li class="active">Edit</li>            
        </ol>
    </section>

    <section class="content">
        @include('Client::message')
        {!! Form::model($question,array('route' => [config('modules.client').'.questionnaire.question.update', $template->hashid, $question->hashid],'class' => 'form-horizontal', 'method' => 'PUT', 'id' => 'question-form')) !!}
        <div class="row">
            <div class="col-sm-12">
                <div class="box box-default">
                    <div class="box-header">
                        <h3 class="box-title">@include('Client::all-fields-are-required')</h3>
                    </div>
                    <div class="box-body">
                        @include('Client::questionnaire.question.form')
                    </div>
                </div>
            </div>
        </div>
        <div class="row">
            <div class="col-md-4 col-md-offset-2">
                <a href="{{ route(config('modules.client').'.questionnaire.question.index', $template->hashid) }}" class="btn btn-flat btn-default btn-block btn-lg" id="cancel-question-btn"><i class="fa fa-chevron-left"></i> Cancel</a>
            </div>
            <div class="col-md-4">
                <button class="btn btn-flat btn-warning btn-block btn-lg" data-loading-text="<i class='fa fa-circle-o-notch fa-spin'></i> Saving..." id="add-question-btn"><i class="fa fa-save"></i> Save Changes</button>
            </div>
        </div>
        {!! Form::close() !!}
        <br>
        @include('Client::logs')
    </section>
    @include('Client::questionnaire.template.create-modal')
@stop
@section('page-css')
<style type="text/css">
    .checkbox label, .radio label {
        min-height: 20px;
         padding-left: 0px !important; 
        margin-bottom: 0;
        font-weight: bold !important;
        cursor: pointer;
    }
</style>
@stop
@section('page-js')
@include('Client::questionnaire.template.js')
@include('Client::questionnaire.question.js')
<script type="text/javascript">
    $(function(){

         $('#add-question-btn').on('click', function(){
            var btn = $(this);
            var btn_cancel = $('#cancel-question-btn');

        
            btn_cancel.parent().removeClass('col-md-offset-2');
            btn_cancel.hide();
            btn.button("loading");

            if(!$('#question-form').valid()) {
                setTimeout(function(){
                    btn_cancel.parent().addClass('col-md-offset-2');
                    btn_cancel.show();
                    btn.button("reset");
                }, '300');
                return false;
            }
        });
    });
</script>
@include('Client::notify')
@stopresults/index.blade.php000066400000003417151246224740011151 0ustar00@extends('Client::layouts')
@section('page-body')
    <!-- Content Header (Page header) -->
    <section class="content-header">
        <h1>
            <i class="fa fa-pencil"></i> Preview Questionnaire
        </h1>
        <ol class="breadcrumb">
            <li><a href="{{ route(config('modules.client').'.questionnaire.index') }}"><i class="fa fa-question-circle-o"></i> Questionnaire</a></li>            
            <li class="active">Edit</li>            
        </ol>
    </section>
    <!-- Main content -->
    <section class="content"> 
        @include('Client::message')
       
       
        <div class="row">
            <div class="col-sm-3">
                 @include('Client::questionnaire.nav', array('nav' => 'result'))
            </div>
            <div class="col-sm-9">
                <div class="nav-tabs-custom">
                    <ul class="nav nav-tabs">
                      <li class="active"><a href="#web_view" data-toggle="tab"><i class="fa fa-question-circle"></i> Questions</a></li>
                      <li><a href="#mobile_view" data-toggle="tab"><i class="fa fa-users"></i> Participants</a></li>
                    </ul>
                    <div class="tab-content">
                        <div class="tab-pane active fade in" id="web_view">
                            @include('Client::questionnaire.template.includes.browser')
                        </div>
                        <div class="tab-pane" id="mobile_view">
                            @include('Client::questionnaire.template.includes.mobile')
                        </div>
                    </div>
                </div>

            </div>
        </div>
       
        
    </section>
@stop
@section('page-css')
@stop
@section('page-js')
</script>

@include('Client::notify')
@stopnav.blade.php000066400000002056151246224740007123 0ustar00
<div class="nav-holder">
    <ul class="nav nav-pills nav-stacked " style="background-color:#fff;">
        <li role="presentation" class="{{ ((isset($nav) && $nav == 'options') ? 'active':'') }}"><a href="{{ route(config('modules.client').'.questionnaire.edit', $template->hashid) }}"><i class="fa fa-cogs"></i> Update</a></li>
        <li role="presentation" class="{{ ((isset($nav) && $nav == 'questions') ? 'active':'') }}"><a href="{{ route(config('modules.client').'.questionnaire.question.index', $template->hashid) }}"><i class="fa fa-question-circle"></i> Questions</a></li>
        <li role="presentation" class="{{ ((isset($nav) && $nav == 'preview') ? 'active':'') }}"><a href="{{ route(config('modules.client').'.questionnaire.preview', $template->hashid) }}"><i class="fa fa-eye"></i> Preview</a></li>
        <li role="presentation" class="{{ ((isset($nav) && $nav == 'results') ? 'active':'') }}"><a href="{{ route(config('modules.client').'.questionnaire.result', $template->hashid) }}"><i class="fa fa-bar-chart"></i> Results</a></li>
    </ul>
</div>