mirror of
https://github.com/snipe/snipe-it.git
synced 2024-12-25 05:34:06 -08:00
WIP: migrate to livewire
This commit is contained in:
parent
65de9c5e07
commit
6349d52803
46
app/Http/Livewire/CategoryEditForm.php
Normal file
46
app/Http/Livewire/CategoryEditForm.php
Normal file
|
@ -0,0 +1,46 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Livewire;
|
||||
|
||||
use Livewire\Component;
|
||||
|
||||
class CategoryEditForm extends Component
|
||||
{
|
||||
// public bool $displayEmailMessage = false;
|
||||
|
||||
public bool $checkinEmail;
|
||||
|
||||
public $defaultEulaText;
|
||||
|
||||
public $eulaText;
|
||||
|
||||
public bool $requireAcceptance;
|
||||
|
||||
public bool $useDefaultEula;
|
||||
|
||||
public function mount()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public function updated($a, $b)
|
||||
{
|
||||
// dd($a, $b);
|
||||
}
|
||||
|
||||
public function render()
|
||||
{
|
||||
return view('livewire.category-edit-form');
|
||||
}
|
||||
|
||||
public function getDisplayEmailMessageProperty(): bool
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public function getEmailMessageProperty(): string
|
||||
{
|
||||
// @todo:
|
||||
return '';
|
||||
}
|
||||
}
|
|
@ -23,62 +23,13 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<!-- EULA text -->
|
||||
<div class="form-group {{ $errors->has('eula_text') ? 'error' : '' }}">
|
||||
<label for="eula_text" class="col-md-3 control-label">{{ trans('admin/categories/general.eula_text') }}</label>
|
||||
<div class="col-md-7">
|
||||
{{ Form::textarea('eula_text', old('eula_text', $item->eula_text), array('class' => 'form-control', 'aria-label'=>'eula_text')) }}
|
||||
<p class="help-block">{!! trans('admin/categories/general.eula_text_help') !!} </p>
|
||||
<p class="help-block">{!! trans('admin/settings/general.eula_markdown') !!} </p>
|
||||
|
||||
{!! $errors->first('eula_text', '<span class="alert-msg" aria-hidden="true">:message</span>') !!}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Use default checkbox -->
|
||||
<div class="form-group">
|
||||
<div class="col-md-9 col-md-offset-3">
|
||||
@if ($snipeSettings->default_eula_text!='')
|
||||
<label class="form-control">
|
||||
{{ Form::checkbox('use_default_eula', '1', old('use_default_eula', $item->use_default_eula), ['aria-label'=>'use_default_eula']) }}
|
||||
<span>{!! trans('admin/categories/general.use_default_eula') !!}</span>
|
||||
</label>
|
||||
@else
|
||||
<label class="form-control form-control--disabled">
|
||||
{{ Form::checkbox('use_default_eula', '0', old('use_default_eula'), ['class'=>'disabled','disabled' => 'disabled', 'aria-label'=>'use_default_eula']) }}
|
||||
<span>{!! trans('admin/categories/general.use_default_eula_disabled') !!}</span>
|
||||
</label>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Require Acceptance -->
|
||||
<div class="form-group">
|
||||
<div class="col-md-9 col-md-offset-3">
|
||||
<label class="form-control">
|
||||
{{ Form::checkbox('require_acceptance', '1', old('require_acceptance', $item->require_acceptance), ['aria-label'=>'require_acceptance']) }}
|
||||
{{ trans('admin/categories/general.require_acceptance') }}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Email on Checkin -->
|
||||
<div class="form-group">
|
||||
<div class="col-md-9 col-md-offset-3">
|
||||
<label class="form-control">
|
||||
{{ Form::checkbox('checkin_email', '1', old('checkin_email', $item->checkin_email), ['aria-label'=>'checkin_email']) }}
|
||||
{{ trans('admin/categories/general.checkin_email') }}
|
||||
</label>
|
||||
<div id="email_will_be_sent" class="callout callout-info">
|
||||
<i class="far fa-envelope"></i>
|
||||
<span id="email_will_be_sent_message"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<livewire:category-edit-form
|
||||
:checkin-email="old('checkin_email', $item->checkin_email)"
|
||||
:default-eula-text="$snipeSettings->default_eula_text"
|
||||
:eula-text="old('eula_text', $item->eula_text)"
|
||||
:require-acceptance="old('require_acceptance', $item->require_acceptance)"
|
||||
:use-default-eula="old('use_default_eula', $item->use_default_eula)"
|
||||
/>
|
||||
|
||||
@include ('partials.forms.edit.image-upload', ['image_path' => app('categories_upload_path')])
|
||||
|
||||
|
@ -114,51 +65,53 @@
|
|||
@stop
|
||||
|
||||
@section('moar_scripts')
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function () {
|
||||
function checkAndDisableEmailCheckbox() {
|
||||
shouldSendEmail.prop('checked', true);
|
||||
shouldSendEmail.prop('disabled', true);
|
||||
}
|
||||
{{-- <script type="text/javascript">--}}
|
||||
{{-- $(document).ready(function () {--}}
|
||||
{{-- function checkAndDisableEmailCheckbox() {--}}
|
||||
{{-- shouldSendEmail.prop('checked', true);--}}
|
||||
{{-- shouldSendEmail.prop('disabled', true);--}}
|
||||
{{-- }--}}
|
||||
|
||||
function uncheckAndEnableEmailCheckbox() {
|
||||
shouldSendEmail.prop('checked', false);
|
||||
shouldSendEmail.prop('disabled', false);
|
||||
}
|
||||
{{-- function uncheckAndEnableEmailCheckbox() {--}}
|
||||
{{-- shouldSendEmail.prop('checked', false);--}}
|
||||
{{-- shouldSendEmail.prop('disabled', false);--}}
|
||||
{{-- }--}}
|
||||
|
||||
let eula = $('textarea[name="eula_text"]');
|
||||
let useDefaultEula = $('input[name="use_default_eula"]');
|
||||
let shouldSendEmail = $('input[name="checkin_email"]')
|
||||
let messageWrapper = $('#email_will_be_sent');
|
||||
let messageSpan = $('#email_will_be_sent_message');
|
||||
{{-- let eula = $('textarea[name="eula_text"]');--}}
|
||||
{{-- let useDefaultEula = $('input[name="use_default_eula"]');--}}
|
||||
{{-- let shouldSendEmail = $('input[name="checkin_email"]')--}}
|
||||
{{-- let messageWrapper = $('#email_will_be_sent');--}}
|
||||
{{-- let messageSpan = $('#email_will_be_sent_message');--}}
|
||||
|
||||
let messages = {
|
||||
global: '{{ trans('admin/categories/general.email_will_be_sent_due_to_global_eula') }}',
|
||||
local: '{{ trans('admin/categories/general.email_will_be_sent_due_to_category_eula') }}',
|
||||
};
|
||||
{{-- let messages = {--}}
|
||||
{{-- global: '{{ trans('admin/categories/general.email_will_be_sent_due_to_global_eula') }}',--}}
|
||||
{{-- local: '{{ trans('admin/categories/general.email_will_be_sent_due_to_category_eula') }}',--}}
|
||||
{{-- };--}}
|
||||
|
||||
function handleEulaChange() {
|
||||
if (eula.val().trim() !== '' || useDefaultEula.is(":checked")) {
|
||||
checkAndDisableEmailCheckbox();
|
||||
useDefaultEula.is(":checked") ? messageSpan.text(messages.global) : messageSpan.text(messages.local);
|
||||
messageWrapper.show();
|
||||
eula.prop('disabled', useDefaultEula.is(":checked"));
|
||||
} else {
|
||||
uncheckAndEnableEmailCheckbox();
|
||||
messageWrapper.hide();
|
||||
eula.prop('disabled', useDefaultEula.is(":checked"));
|
||||
}
|
||||
}
|
||||
{{-- function handleEulaChange() {--}}
|
||||
{{-- if (eula.val().trim() !== '' || useDefaultEula.is(":checked")) {--}}
|
||||
{{-- checkAndDisableEmailCheckbox();--}}
|
||||
{{-- useDefaultEula.is(":checked") ? messageSpan.text(messages.global) : messageSpan.text(messages.local);--}}
|
||||
{{-- messageWrapper.show();--}}
|
||||
{{-- eula.prop('disabled', useDefaultEula.is(":checked"));--}}
|
||||
{{-- } else {--}}
|
||||
{{-- uncheckAndEnableEmailCheckbox();--}}
|
||||
{{-- messageWrapper.hide();--}}
|
||||
{{-- eula.prop('disabled', useDefaultEula.is(":checked"));--}}
|
||||
{{-- }--}}
|
||||
{{-- }--}}
|
||||
|
||||
eula.on('change keyup', function () {
|
||||
handleEulaChange();
|
||||
});
|
||||
{{-- eula.on('change keyup', function () {--}}
|
||||
{{-- handleEulaChange();--}}
|
||||
{{-- });--}}
|
||||
|
||||
useDefaultEula.change(function () {
|
||||
handleEulaChange();
|
||||
});
|
||||
{{-- useDefaultEula.change(function () {--}}
|
||||
{{-- handleEulaChange();--}}
|
||||
{{-- });--}}
|
||||
|
||||
handleEulaChange();
|
||||
});
|
||||
</script>
|
||||
{{-- @if (! old('checkin_email', $item->checkin_email))--}}
|
||||
{{-- handleEulaChange();--}}
|
||||
{{-- @endif--}}
|
||||
{{-- });--}}
|
||||
{{-- </script>--}}
|
||||
@stop
|
||||
|
|
55
resources/views/livewire/category-edit-form.blade.php
Normal file
55
resources/views/livewire/category-edit-form.blade.php
Normal file
|
@ -0,0 +1,55 @@
|
|||
<div>
|
||||
<!-- EULA text -->
|
||||
<div class="form-group {{ $errors->has('eula_text') ? 'error' : '' }}">
|
||||
<label for="eula_text" class="col-md-3 control-label">{{ trans('admin/categories/general.eula_text') }}</label>
|
||||
<div class="col-md-7">
|
||||
{{ Form::textarea('eula_text', null, array('wire:model.lazy' => 'eulaText', 'class' => 'form-control', 'aria-label'=>'eula_text')) }}
|
||||
<p class="help-block">{!! trans('admin/categories/general.eula_text_help') !!} </p>
|
||||
<p class="help-block">{!! trans('admin/settings/general.eula_markdown') !!} </p>
|
||||
{!! $errors->first('eula_text', '<span class="alert-msg" aria-hidden="true">:message</span>') !!}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Use default checkbox -->
|
||||
<div class="form-group">
|
||||
<div class="col-md-9 col-md-offset-3">
|
||||
@if ($defaultEulaText!='')
|
||||
<label class="form-control">
|
||||
{{ Form::checkbox('use_default_eula', '1', null, ['wire:model' => 'useDefaultEula', 'aria-label'=>'use_default_eula']) }}
|
||||
<span>{!! trans('admin/categories/general.use_default_eula') !!}</span>
|
||||
</label>
|
||||
@else
|
||||
<label class="form-control form-control--disabled">
|
||||
{{ Form::checkbox('use_default_eula', '0', null, ['wire:model' => 'useDefaultEula', 'class'=>'disabled','disabled' => 'disabled', 'aria-label'=>'use_default_eula']) }}
|
||||
<span>{!! trans('admin/categories/general.use_default_eula_disabled') !!}</span>
|
||||
</label>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Require Acceptance -->
|
||||
<div class="form-group">
|
||||
<div class="col-md-9 col-md-offset-3">
|
||||
<label class="form-control">
|
||||
{{ Form::checkbox('require_acceptance', '1', null, ['wire:model' => 'requireAcceptance', 'aria-label'=>'require_acceptance']) }}
|
||||
{{ trans('admin/categories/general.require_acceptance') }}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Email on Checkin -->
|
||||
<div class="form-group">
|
||||
<div class="col-md-9 col-md-offset-3">
|
||||
<label class="form-control">
|
||||
{{ Form::checkbox('checkin_email', '1', null, ['wire:model' => 'checkinEmail', 'aria-label'=>'checkin_email']) }}
|
||||
{{ trans('admin/categories/general.checkin_email') }}
|
||||
</label>
|
||||
@if ($this->displayEmailMessage)
|
||||
<div class="callout callout-info">
|
||||
<i class="far fa-envelope"></i>
|
||||
<span>{{ $this->emailMessage }}</span>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
Loading…
Reference in a new issue