change table struct

This commit is contained in:
decoder
2024-03-18 19:33:31 +05:00
parent 4cb505276f
commit cf7c57228a
7 changed files with 2077 additions and 1851 deletions

View File

@@ -191,7 +191,7 @@ class FormController extends Controller
public function update($id) public function update($id)
{ {
try { try {
$input = request()->only('name', 'name_ru', 'name_est', 'description', 'slug'); $input = request()->only('name', 'name_ru', 'name_est', 'description', 'description_ru', 'description_est', 'slug');
$form_data = [ $form_data = [
'form' => request()->input('form'), 'form' => request()->input('form'),
'emailConfig' => request()->input('email_config'), 'emailConfig' => request()->input('email_config'),
@@ -214,6 +214,8 @@ class FormController extends Controller
$form->name_est = $input['name_est']; $form->name_est = $input['name_est'];
$form->slug = $input['slug']; $form->slug = $input['slug'];
$form->description = $input['description']; $form->description = $input['description'];
$form->description_ru = $input['description_ru'];
$form->description_est = $input['description_est'];
$form->schema = $input['schema']; $form->schema = $input['schema'];
$form->is_template = $is_template; $form->is_template = $is_template;
$form->mailchimp_details = request()->input('mailchimp_details'); $form->mailchimp_details = request()->input('mailchimp_details');

View File

@@ -183,7 +183,7 @@ class HomeController extends Controller
if (request()->ajax()) { if (request()->ajax()) {
$user_id = request()->user()->id; $user_id = request()->user()->id;
$forms = Form::select('name', 'description', 'id', 'slug', 'is_global_template') $forms = Form::select('name', 'name_est', 'name_ru', 'description', 'description_ru', 'description_est', 'id', 'slug', 'is_global_template')
->where(function ($query) use ($user_id) { ->where(function ($query) use ($user_id) {
$query->where('is_template', 1) $query->where('is_template', 1)
->where('created_by', $user_id) ->where('created_by', $user_id)

View File

@@ -16,6 +16,8 @@ return new class extends Migration
Schema::table('forms', function (Blueprint $table) { Schema::table('forms', function (Blueprint $table) {
$table->string('name_ru')->after('name')->nullable(); $table->string('name_ru')->after('name')->nullable();
$table->string('name_est')->after('name_ru')->nullable(); $table->string('name_est')->after('name_ru')->nullable();
$table->string('description_ru')->after('description')->nullable();
$table->string('description_est')->after('description_ru')->nullable();
}); });
} }

View File

@@ -687,4 +687,6 @@ return [
'options_ru' => 'Options in Ru', 'options_ru' => 'Options in Ru',
'form_name_est' => 'Form Name est', 'form_name_est' => 'Form Name est',
'form_name_ru' => 'Form Name ru', 'form_name_ru' => 'Form Name ru',
'form_description_est' => 'Form Description est',
'form_description_ru' => 'Form Description ru',
]; ];

View File

@@ -12,7 +12,8 @@
aria-controls="form" aria-controls="form"
aria-selected="true" aria-selected="true"
> >
<i class="fas fa-align-justify"></i> {{ trans("messages.form") }} <i class="fas fa-align-justify"></i>
{{ trans("messages.form") }}
</a> </a>
</li> </li>
<li class="nav-item" role="presentation" id="tour_step_4"> <li class="nav-item" role="presentation" id="tour_step_4">
@@ -39,7 +40,8 @@
aria-controls="email" aria-controls="email"
aria-selected="false" aria-selected="false"
> >
<i class="fas fa-envelope"></i> {{ trans("messages.email") }} <i class="fas fa-envelope"></i>
{{ trans("messages.email") }}
</a> </a>
</li> </li>
<li class="nav-item" role="presentation" id="tour_step_6"> <li class="nav-item" role="presentation" id="tour_step_6">
@@ -52,7 +54,8 @@
aria-controls="form-settings" aria-controls="form-settings"
aria-selected="false" aria-selected="false"
> >
<i class="fas fa-cogs"></i> {{ trans("messages.settings") }} <i class="fas fa-cogs"></i>
{{ trans("messages.settings") }}
</a> </a>
</li> </li>
<li class="nav-item" role="presentation" id="tour_step_7"> <li class="nav-item" role="presentation" id="tour_step_7">
@@ -325,6 +328,8 @@ export default {
this.form.name_est = this.form_parsed.name_est; this.form.name_est = this.form_parsed.name_est;
this.form.slug = this.form_parsed.slug; this.form.slug = this.form_parsed.slug;
this.form.description = this.form_parsed.description; this.form.description = this.form_parsed.description;
this.form.description_ru = this.form_parsed.description_ru;
this.form.description_est = this.form_parsed.description_est;
this.form.is_template = this.form_parsed.is_template; this.form.is_template = this.form_parsed.is_template;
this.disabled_save_temp_btn = JSON.parse(this.saveTemplate); this.disabled_save_temp_btn = JSON.parse(this.saveTemplate);
if (this.form_parsed.schema === null) { if (this.form_parsed.schema === null) {
@@ -336,11 +341,15 @@ export default {
this.selected_elements = this.form_parsed.schema.form; this.selected_elements = this.form_parsed.schema.form;
this.emailConfig = this.form_parsed.schema.emailConfig; this.emailConfig = this.form_parsed.schema.emailConfig;
this.settings = this.form_parsed.schema.settings; this.settings = this.form_parsed.schema.settings;
this.additionalData = _.isNull(this.form_parsed.schema.additional_js_css) this.additionalData = _.isNull(
this.form_parsed.schema.additional_js_css
)
? { js: "", css: "" } ? { js: "", css: "" }
: this.form_parsed.schema.additional_js_css; : this.form_parsed.schema.additional_js_css;
this.mailchimp_details = _.isNull(this.form_parsed.mailchimp_details) this.mailchimp_details = _.isNull(
this.form_parsed.mailchimp_details
)
? this.getData("mailchimp") ? this.getData("mailchimp")
: this.form_parsed.mailchimp_details; : this.form_parsed.mailchimp_details;
@@ -382,16 +391,28 @@ export default {
submitHandler: function (form, e) { submitHandler: function (form, e) {
var field_names = []; var field_names = [];
if (self.selected_elements.length > 0) { if (self.selected_elements.length > 0) {
for (let index = 0; index < self.selected_elements.length; index++) { for (
self.selected_elements[index].extras.showConfigurator = false; let index = 0;
index < self.selected_elements.length;
index++
) {
self.selected_elements[
index
].extras.showConfigurator = false;
if (_.isEmpty(self.selected_elements[index].name)) { if (_.isEmpty(self.selected_elements[index].name)) {
toastr.error( toastr.error(
self.trans("messages.field_dont_have_name_property", { self.trans(
input: self.selected_elements[index].label, "messages.field_dont_have_name_property",
}) {
input: self.selected_elements[index]
.label,
}
)
); );
return false; return false;
} else if (/\s/.test(self.selected_elements[index].name)) { } else if (
/\s/.test(self.selected_elements[index].name)
) {
toastr.error( toastr.error(
self.trans("messages.field_contain_space", { self.trans("messages.field_contain_space", {
input: self.selected_elements[index].label, input: self.selected_elements[index].label,
@@ -399,19 +420,31 @@ export default {
); );
return false; return false;
} else if ( } else if (
_.includes(field_names, self.selected_elements[index].name) _.includes(
field_names,
self.selected_elements[index].name
)
) { ) {
toastr.error( toastr.error(
self.trans("messages.field_contain_duplicate_field_name", { self.trans(
input: self.selected_elements[index].label, "messages.field_contain_duplicate_field_name",
}) {
input: self.selected_elements[index]
.label,
}
)
); );
field_names = []; field_names = [];
return false; return false;
} else if ( } else if (
!_.includes(field_names, self.selected_elements[index].name) !_.includes(
field_names,
self.selected_elements[index].name
)
) { ) {
field_names.push(self.selected_elements[index].name); field_names.push(
self.selected_elements[index].name
);
} }
} }
} }
@@ -421,6 +454,8 @@ export default {
"name_ru", "name_ru",
"name_est", "name_est",
"description", "description",
"description_ru",
"description_est",
"slug", "slug",
]); ]);
console.log(data); console.log(data);
@@ -450,10 +485,9 @@ export default {
if ($("form#create_form").valid()) { if ($("form#create_form").valid()) {
//disable both btn and start ladda //disable both btn and start ladda
$("button.ladda-form-save-btn, button.ladda-template-save-btn").attr( $(
"disabled", "button.ladda-form-save-btn, button.ladda-template-save-btn"
"disabled" ).attr("disabled", "disabled");
);
ladda.start(); ladda.start();
axios axios
@@ -628,7 +662,9 @@ export default {
} }
if (_.isUndefined(element.popover_help_text)) { if (_.isUndefined(element.popover_help_text)) {
element["popover_help_text"] = _.clone(self.popover_help_text); element["popover_help_text"] = _.clone(
self.popover_help_text
);
} }
//if spread to col option is undefined for element set to default //if spread to col option is undefined for element set to default
if ( if (
@@ -679,7 +715,8 @@ export default {
} }
if (_.isUndefined(self.settings.is_enabled_draft_submit)) { if (_.isUndefined(self.settings.is_enabled_draft_submit)) {
self.settings.is_enabled_draft_submit = self.is_enabled_draft_submit; self.settings.is_enabled_draft_submit =
self.is_enabled_draft_submit;
} }
if (_.isUndefined(self.settings.notification.position)) { if (_.isUndefined(self.settings.notification.position)) {
@@ -714,7 +751,10 @@ export default {
if (choice == "home") { if (choice == "home") {
window.location = this.responseData.redirect; window.location = this.responseData.redirect;
} else if (choice == "preview") { } else if (choice == "preview") {
window.open(this.responseData.preview, this.responseData.form_name); window.open(
this.responseData.preview,
this.responseData.form_name
);
} }
}, },
getAppTour() { getAppTour() {

View File

@@ -4,15 +4,23 @@
<div class="element-sidebar"> <div class="element-sidebar">
<div class="card"> <div class="card">
<div class="card-header"> <div class="card-header">
<p class="card-title">{{ trans("messages.elements") }}</p> <p class="card-title">
{{ trans("messages.elements") }}
</p>
</div> </div>
<div class="collapse show" id="basicElements"> <div class="collapse show" id="basicElements">
<div class="card-body pr-1 pl-1 elements_sidebar_height"> <div
class="card-body pr-1 pl-1 elements_sidebar_height"
>
<draggable <draggable
class="dragArea list-group" class="dragArea list-group"
:list="basic_elements" :list="basic_elements"
:group="{ name: 'element', pull: 'clone', put: false }" :group="{
name: 'element',
pull: 'clone',
put: false,
}"
:clone="cloneElement" :clone="cloneElement"
:sort="false" :sort="false"
@change="change" @change="change"
@@ -26,30 +34,55 @@
type="button" type="button"
class="btn btn-primary btn-block" class="btn btn-primary btn-block"
:class="[ :class="[
_.includes(['card_form'], settings.layout) && _.includes(
_.includes(['page_break'], element.type) ['card_form'],
settings.layout
) &&
_.includes(
['page_break'],
element.type
)
? '' ? ''
: 'hvr-grow', : 'hvr-grow',
]" ]"
:title="element.tooltip" :title="element.tooltip"
:disabled=" :disabled="
_.includes(['card_form'], settings.layout) && _.includes(
_.includes(['page_break'], element.type) ['card_form'],
settings.layout
) &&
_.includes(
['page_break'],
element.type
)
" "
> >
<i <i
class="mt-1 mb-1" class="mt-1 mb-1"
:class="'float-left fas fa-' + element.display_icon" :class="
'float-left fas fa-' +
element.display_icon
"
></i> ></i>
{{ element.label }} {{ element.label }}
<i <i
v-if=" v-if="
_.includes(['card_form'], settings.layout) && _.includes(
_.includes(['page_break'], element.type) ['card_form'],
settings.layout
) &&
_.includes(
['page_break'],
element.type
)
" "
class="fas fa-info-circle float-right mt-1 mb-1" class="fas fa-info-circle float-right mt-1 mb-1"
data-toggle="tooltip" data-toggle="tooltip"
:title="trans('messages.page_break_disabled')" :title="
trans(
'messages.page_break_disabled'
)
"
></i> ></i>
</button> </button>
</div> </div>
@@ -76,7 +109,10 @@
style="height: 100%" style="height: 100%"
id="tour_step_2" id="tour_step_2"
> >
<div class="text-center mt-2" v-if="selected_elements.length == 0"> <div
class="text-center mt-2"
v-if="selected_elements.length == 0"
>
<h5>{{ trans("messages.pls_add_element") }}</h5> <h5>{{ trans("messages.pls_add_element") }}</h5>
</div> </div>
<draggable <draggable
@@ -94,7 +130,9 @@
tag="div" tag="div"
class="row" class="row"
:class="[ :class="[
selected_elements.length < 3 ? 'transition-card-body' : '', selected_elements.length < 3
? 'transition-card-body'
: '',
]" ]"
> >
<div <div
@@ -116,7 +154,12 @@
<p> <p>
<button <button
type="button" type="button"
v-if="!_.includes(['page_break'], element.type)" v-if="
!_.includes(
['page_break'],
element.type
)
"
class="btn btn-xs btn-secondary" class="btn btn-xs btn-secondary"
:title="trans('messages.properties')" :title="trans('messages.properties')"
@click="openElementConfigurator()" @click="openElementConfigurator()"
@@ -194,7 +237,9 @@
class="form-control" class="form-control"
v-model="form.name" v-model="form.name"
required required
@change="generateFormSlug(form.name)" @change="
generateFormSlug(form.name)
"
/> />
</div> </div>
</div> </div>
@@ -215,7 +260,9 @@
<div class="row"> <div class="row">
<div class="col-md-12 mb-2"> <div class="col-md-12 mb-2">
<label> <label>
{{ trans("messages.form_name_est") }} {{
trans("messages.form_name_est")
}}
<span class="error">*</span> <span class="error">*</span>
</label> </label>
<input <input
@@ -244,7 +291,11 @@
<div class="row mb-1"> <div class="row mb-1">
<div class="col-md-12"> <div class="col-md-12">
<label> <label>
{{ trans("messages.form_description") }} {{
trans(
"messages.form_description"
)
}}
</label> </label>
<input <input
type="text" type="text"
@@ -253,6 +304,38 @@
/> />
</div> </div>
</div> </div>
<div class="row mb-1">
<div class="col-md-12">
<label>
{{
trans(
"messages.form_description_ru"
)
}}
</label>
<input
type="text"
class="form-control"
v-model="form.description_ru"
/>
</div>
</div>
<div class="row mb-1">
<div class="col-md-12">
<label>
{{
trans(
"messages.form_description_est"
)
}}
</label>
<input
type="text"
class="form-control"
v-model="form.description_est"
/>
</div>
</div>
<form-layout <form-layout
:selected_elements="selected_elements" :selected_elements="selected_elements"
:settings="settings" :settings="settings"
@@ -260,9 +343,14 @@
</form-layout> </form-layout>
<div class="row"> <div class="row">
<!-- form custom attribute --> <!-- form custom attribute -->
<div class="col-md-12" v-if="form_custom_attributes.length"> <div
class="col-md-12"
v-if="form_custom_attributes.length"
>
<hr /> <hr />
<label>{{ trans("messages.custom_attributes") }}</label> <label>{{
trans("messages.custom_attributes")
}}</label>
</div> </div>
<div <div
class="row form_custom_attr_field" class="row form_custom_attr_field"
@@ -275,14 +363,22 @@
<input <input
type="text" type="text"
class="form-control" class="form-control"
v-model="form_custom_attribute.key" v-model="
:placeholder="trans('messages.key')" form_custom_attribute.key
"
:placeholder="
trans('messages.key')
"
/> />
<input <input
type="text" type="text"
class="form-control" class="form-control"
v-model="form_custom_attribute.value" v-model="
:placeholder="trans('messages.value')" form_custom_attribute.value
"
:placeholder="
trans('messages.value')
"
/> />
</div> </div>
</div> </div>
@@ -303,7 +399,11 @@
style="margin: 28px" style="margin: 28px"
> >
<i class="fas fa-plus-circle"></i> <i class="fas fa-plus-circle"></i>
{{ trans("messages.add_form_custom_attribute") }} {{
trans(
"messages.add_form_custom_attribute"
)
}}
</button> </button>
</div> </div>
</div> </div>
@@ -318,7 +418,10 @@
> >
<template <template
v-for="(element, index) in selected_elements" v-for="(element, index) in selected_elements"
v-if="element.extras.showConfigurator && isConfiguratorOpen" v-if="
element.extras.showConfigurator &&
isConfiguratorOpen
"
> >
<fieldConfigurator <fieldConfigurator
v-if="!_.includes(['page_break'], element.type)" v-if="!_.includes(['page_break'], element.type)"
@@ -326,7 +429,9 @@
:element="element" :element="element"
:index="index" :index="index"
:selected_elements="selected_elements" :selected_elements="selected_elements"
v-on:toggleConfigurator="toggleConfiguratorEvent" v-on:toggleConfigurator="
toggleConfiguratorEvent
"
v-on:deleteElement="deleteElement" v-on:deleteElement="deleteElement"
></fieldConfigurator> ></fieldConfigurator>
<div <div
@@ -338,7 +443,11 @@
</template> </template>
<div v-if="!isConfiguratorOpen"> <div v-if="!isConfiguratorOpen">
<div class="mt-1 ml-3"> <div class="mt-1 ml-3">
{{ trans("messages.pls_add_element_to_configure") }} {{
trans(
"messages.pls_add_element_to_configure"
)
}}
</div> </div>
</div> </div>
</div> </div>
@@ -861,7 +970,9 @@ export default {
evt.added.element.type evt.added.element.type
) )
) { ) {
this.settings.form_data.col_visible.push(evt.added.element.name); this.settings.form_data.col_visible.push(
evt.added.element.name
);
} }
} }
}, },
@@ -916,7 +1027,8 @@ export default {
}).then((result) => { }).then((result) => {
if (result.isConfirmed) { if (result.isConfirmed) {
let element = self.selected_elements[index]; let element = self.selected_elements[index];
let deletedElementIndex = self.settings.form_data.col_visible.indexOf( let deletedElementIndex =
self.settings.form_data.col_visible.indexOf(
element.name element.name
); );
self.selected_elements.splice(index, 1); self.selected_elements.splice(index, 1);

View File

@@ -24,8 +24,7 @@
@if (!auth()->user()->hasRole(\App\Enums\User\RoleEnum::ADMIN->value)) @if (!auth()->user()->hasRole(\App\Enums\User\RoleEnum::ADMIN->value))
<div class="col-12 col-sm-6 col-md-3"> <div class="col-12 col-sm-6 col-md-3">
<div class="info-box"> <div class="info-box">
<span class="info-box-icon bg-danger elevation-1"><i <span class="info-box-icon bg-danger elevation-1"><i class="fas fa-align-justify"></i></span>
class="fas fa-align-justify"></i></span>
<div class="info-box-content"> <div class="info-box-content">
<span class="info-box-text">@lang('messages.templates')</span> <span class="info-box-text">@lang('messages.templates')</span>
@@ -47,8 +46,7 @@
</div> </div>
<div class="col-12 col-sm-6 col-md-3"> <div class="col-12 col-sm-6 col-md-3">
<button type="button" <button type="button" data-href="{{ action([\App\Http\Controllers\FormController::class, 'create']) }}"
data-href="{{action([\App\Http\Controllers\FormController::class, 'create'])}}"
class="btn btn-primary float-right col-md-9 createForm mt-3"> class="btn btn-primary float-right col-md-9 createForm mt-3">
<i class="fas fa-plus" aria-hidden="true"></i> @lang('messages.new_form')</button> <i class="fas fa-plus" aria-hidden="true"></i> @lang('messages.new_form')</button>
</div> </div>
@@ -59,9 +57,7 @@
<div class="card card-primary card-outline card-outline-tabs"> <div class="card card-primary card-outline card-outline-tabs">
<div class="card-header p-0 border-bottom-0"> <div class="card-header p-0 border-bottom-0">
<ul class="nav nav-tabs <ul class="nav nav-tabs
@if(auth()->user()->hasRole(\App\Enums\User\RoleEnum::SUPERVISOR->value) || auth()->user()->can_create_form) @if (auth()->user()->hasRole(\App\Enums\User\RoleEnum::SUPERVISOR->value) || auth()->user()->can_create_form) nav-justified @endif"
nav-justified
@endif"
id="custom-tabs-four-tab" role="tablist"> id="custom-tabs-four-tab" role="tablist">
@if (auth()->user()->hasRole([\App\Enums\User\RoleEnum::SUPERVISOR->value]) || auth()->user()->can_create_form) @if (auth()->user()->hasRole([\App\Enums\User\RoleEnum::SUPERVISOR->value]) || auth()->user()->can_create_form)
<li class="nav-item"> <li class="nav-item">
@@ -76,25 +72,20 @@
<a class="nav-link" id="custome-tabs-all-templates" data-toggle="pill" <a class="nav-link" id="custome-tabs-all-templates" data-toggle="pill"
href="#custome-tabs-templates" role="tab" href="#custome-tabs-templates" role="tab"
aria-controls="custome-tabs-templates"> aria-controls="custome-tabs-templates">
<i class="fas fa-align-justify" <i class="fas fa-align-justify" aria-hidden="true"></i> @lang('messages.all_templates')
aria-hidden="true"></i> @lang('messages.all_templates')
</a> </a>
</li> </li>
@endif @endif
@endif @endif
<li class="nav-item"> <li class="nav-item">
<a class="nav-link <a class="nav-link
@if(!auth()->user()->hasRole(\App\Enums\User\RoleEnum::SUPERVISOR->value) && !auth()->user()->can_create_form) @if (!auth()->user()->hasRole(\App\Enums\User\RoleEnum::SUPERVISOR->value) && !auth()->user()->can_create_form) active @endif
active "
@endif id="custome-tabs-shared-forms" data-toggle="pill"
" id="custome-tabs-shared-forms" data-toggle="pill"
href="#custome-tabs-shared-forms-assigned" role="tab" href="#custome-tabs-shared-forms-assigned" role="tab"
aria-controls="custome-tabs-shared-forms-assigned" aria-controls="custome-tabs-shared-forms-assigned"
@if(!auth()->user()->hasRole(\App\Enums\User\RoleEnum::SUPERVISOR->value) && !auth()->user()->can_create_form) @if (!auth()->user()->hasRole(\App\Enums\User\RoleEnum::SUPERVISOR->value) && !auth()->user()->can_create_form) aria-selected="true" @endif>
aria-selected="true" <i class="fas fa-file-alt" aria-hidden="true"></i> @lang('messages.assigned_forms')
@endif>
<i class="fas fa-file-alt"
aria-hidden="true"></i> @lang('messages.assigned_forms')
</a> </a>
</li> </li>
</ul> </ul>
@@ -108,8 +99,8 @@
<table class="table" id="form_table" style="width: 100%;"> <table class="table" id="form_table" style="width: 100%;">
<thead> <thead>
<tr> <tr>
<th>@lang('messages.name')</th>
<th>@lang('messages.description')</th> <th>@lang('messages.description')</th>
<th>@lang('messages.name')</th>
<th>@lang('messages.created_at')</th> <th>@lang('messages.created_at')</th>
<th>@lang('messages.submissions')</th> <th>@lang('messages.submissions')</th>
<th>@lang('messages.action')</th> <th>@lang('messages.action')</th>
@@ -125,13 +116,12 @@
<table class="table" id="template_table" style="width: 100%;"> <table class="table" id="template_table" style="width: 100%;">
<thead> <thead>
<tr> <tr>
<th>@lang('messages.name')</th>
<th>@lang('messages.description')</th> <th>@lang('messages.description')</th>
<th>@lang('messages.name')</th>
@if (auth()->user()->can('superadmin')) @if (auth()->user()->can('superadmin'))
<th> <th>
@lang('messages.is_global_template') @lang('messages.is_global_template')
<i class="fas fa-info-circle" <i class="fas fa-info-circle" data-toggle="tooltip"
data-toggle="tooltip"
title="@lang('messages.is_global_template_tooltip')"></i> title="@lang('messages.is_global_template_tooltip')"></i>
</th> </th>
@endif @endif
@@ -144,10 +134,9 @@
</div> </div>
@endif @endif
<div class="tab-pane fade <div class="tab-pane fade
@if(!auth()->user()->hasRole(\App\Enums\User\RoleEnum::SUPERVISOR->value) || !auth()->user()->can_create_form) @if (!auth()->user()->hasRole(\App\Enums\User\RoleEnum::SUPERVISOR->value) || !auth()->user()->can_create_form) active show @endif
active show "
@endif id="custome-tabs-shared-forms-assigned" role="tabpanel"
" id="custome-tabs-shared-forms-assigned" role="tabpanel"
aria-labelledby="custome-tabs-shared-forms"> aria-labelledby="custome-tabs-shared-forms">
<div class="table-responsive"> <div class="table-responsive">
<table class="table" id="assigned_form_table" style="width: 100%;"> <table class="table" id="assigned_form_table" style="width: 100%;">
@@ -180,14 +169,19 @@
$(document).ready(function() { $(document).ready(function() {
var lang = `{{ session()->get('locale') }}` var lang = `{{ session()->get('locale') }}`
var titleColName = 'name'; var titleColName = 'name';
console.log(lang);
if (lang === 'est') { if (lang === 'est') {
titleColName = 'name_est' titleColName = 'name_est'
} else if (lang === 'ru') { } else if (lang === 'ru') {
titleColName = 'name_ru' titleColName = 'name_ru'
} }
var descColName = 'description';
if (lang === 'est') {
descColName = 'description_est'
} else if (lang === 'ru') {
descColName = 'description_ru'
}
// form dataTable // form dataTable
var form_table = $('#form_table').DataTable({ var form_table = $('#form_table').DataTable({
processing: true, processing: true,
@@ -196,15 +190,39 @@
buttons: [], buttons: [],
dom: 'lfrtip', dom: 'lfrtip',
fixedHeader: false, fixedHeader: false,
aaSorting: [[2, 'desc']], aaSorting: [
"columnDefs": [ [1, 'desc']
{"width": "22%", "targets": 0},
{"width": "40%", "targets": 1},
{"width": "15%", "targets": 2},
{"width": "3%", "targets": 3},
{"width": "20%", "targets": 4}
], ],
columns: [ "columnDefs": [{
"width": "22%",
"targets": 0
},
{
"width": "40%",
"targets": 1
},
{
"width": "15%",
"targets": 2
},
{
"width": "3%",
"targets": 3
},
{
"width": "20%",
"targets": 4
}
],
columns: [{
data: descColName,
name: descColName,
createdCell: function(td, cellData, rowData, row, col) {
if (td.innerHTML.length === 0) {
td.innerHTML = rowData.name
}
},
},
{ {
data: titleColName, data: titleColName,
name: titleColName, name: titleColName,
@@ -214,10 +232,20 @@
} }
}, },
}, },
{data: 'description', name: 'description'}, {
{data: 'created_at', name: 'created_at'}, data: 'created_at',
{data: 'data_count', name: 'data_count', searchable: false}, name: 'created_at'
{data: 'action', name: 'action', sortable: false} },
{
data: 'data_count',
name: 'data_count',
searchable: false
},
{
data: 'action',
name: 'action',
sortable: false
}
] ]
}); });
@@ -229,16 +257,35 @@
buttons: [], buttons: [],
dom: 'lfrtip', dom: 'lfrtip',
fixedHeader: false, fixedHeader: false,
columns: [ columns: [{
{data: 'name', name: 'name'}, data: descColName,
{data: 'description', name: 'description'}, name: descColName,
createdCell: function(td, cellData, rowData, row, col) {
if (td.innerHTML.length === 0) {
td.innerHTML = rowData.name
}
},
},
{
data: titleColName,
name: titleColName,
createdCell: function(td, cellData, rowData, row, col) {
if (td.innerHTML.length === 0) {
td.innerHTML = rowData.name
}
},
},
@if (auth()->user()->can('superadmin')) @if (auth()->user()->can('superadmin'))
{ {
data: 'is_global_template', name: 'is_global_template', sortable: false, searchable: false data: 'is_global_template',
name: 'is_global_template',
sortable: false,
searchable: false
}, },
@endif @endif {
{ data: 'action',
data: 'action', name: 'action', sortable: false name: 'action',
sortable: false
} }
] ]
}); });
@@ -332,29 +379,50 @@
buttons: [], buttons: [],
dom: 'lfrtip', dom: 'lfrtip',
fixedHeader: false, fixedHeader: false,
aaSorting: [[0, 'desc']], aaSorting: [
"columnDefs": [ [0, 'desc']
{"width": "25%", "targets": 0},
{"width": "40%", "targets": 1},
@if(auth()->user()->hasRole(\App\Enums\User\RoleEnum::SUPERVISOR->value))
{
"width": "15%", "targets": 2
},
@endif
{
"width": "20%",
"targets": @php echo auth()->user()->hasRole(\App\Enums\User\RoleEnum::SUPERVISOR->value) ? 3 : 2 @endphp }
], ],
columns: [ "columnDefs": [{
{data: 'name', name: 'forms.name'}, "width": "25%",
{data: 'description', name: 'forms.description'}, "targets": 0
},
{
"width": "40%",
"targets": 1
},
@if (auth()->user()->hasRole(\App\Enums\User\RoleEnum::SUPERVISOR->value)) @if (auth()->user()->hasRole(\App\Enums\User\RoleEnum::SUPERVISOR->value))
{ {
data: 'created_by', name: 'forms.created_by' "width": "15%",
"targets": 2
},
@endif {
"width": "20%",
"targets": @php
echo auth()
->user()
->hasRole(\App\Enums\User\RoleEnum::SUPERVISOR->value)
? 3
: 2;
@endphp
}
],
columns: [{
data: 'name',
name: 'forms.name'
}, },
@endif
{ {
data: 'action', name: 'action', sortable: false data: 'description',
name: 'forms.description'
},
@if (auth()->user()->hasRole(\App\Enums\User\RoleEnum::SUPERVISOR->value))
{
data: 'created_by',
name: 'forms.created_by'
},
@endif {
data: 'action',
name: 'action',
sortable: false
} }
] ]
}); });