add: full multi-tenancy control
This commit is contained in:
240
storage/framework/views/dcfc209cfcd29250c5cd4457912cc6c0.php
Executable file
240
storage/framework/views/dcfc209cfcd29250c5cd4457912cc6c0.php
Executable file
@@ -0,0 +1,240 @@
|
||||
<v-datagrid-export <?php echo e($attributes); ?>>
|
||||
<div class="transparent-button hover:bg-gray-200 dark:text-white dark:hover:bg-gray-800">
|
||||
<span class="icon-export text-xl text-gray-600"></span>
|
||||
|
||||
<?php echo app('translator')->get('admin::app.export.export'); ?>
|
||||
</div>
|
||||
</v-datagrid-export>
|
||||
|
||||
<?php if (! $__env->hasRenderedOnce('25d5a7ab-5f4f-4dda-9f88-4ff6361ae381')): $__env->markAsRenderedOnce('25d5a7ab-5f4f-4dda-9f88-4ff6361ae381');
|
||||
$__env->startPush('scripts'); ?>
|
||||
<script
|
||||
type="text/x-template"
|
||||
id="v-datagrid-export-template"
|
||||
>
|
||||
<div>
|
||||
<?php if (isset($component)) { $__componentOriginal09768308838b828c7799162f44758281 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal09768308838b828c7799162f44758281 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'admin::components.modal.index','data' => ['ref' => 'exportModal']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? (array) $attributes->getIterator() : [])); ?>
|
||||
<?php $component->withName('admin::modal'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag && $constructor = (new ReflectionClass(Illuminate\View\AnonymousComponent::class))->getConstructor()): ?>
|
||||
<?php $attributes = $attributes->except(collect($constructor->getParameters())->map->getName()->all()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['ref' => 'exportModal']); ?>
|
||||
<?php $__env->slot('toggle', null, []); ?>
|
||||
<button class="transparent-button hover:bg-gray-200 dark:text-white dark:hover:bg-gray-800">
|
||||
<span class="icon-export text-xl text-gray-600"></span>
|
||||
|
||||
<?php echo app('translator')->get('admin::app.export.export'); ?>
|
||||
</button>
|
||||
<?php $__env->endSlot(); ?>
|
||||
|
||||
<?php $__env->slot('header', null, []); ?>
|
||||
<p class="text-lg font-bold text-gray-800 dark:text-white">
|
||||
<?php echo app('translator')->get('admin::app.export.download'); ?>
|
||||
</p>
|
||||
<?php $__env->endSlot(); ?>
|
||||
|
||||
<?php $__env->slot('content', null, []); ?>
|
||||
<?php if (isset($component)) { $__componentOriginal81b4d293d9113446bb908fc8aef5c8f6 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal81b4d293d9113446bb908fc8aef5c8f6 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'admin::components.form.index','data' => ['action' => '']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? (array) $attributes->getIterator() : [])); ?>
|
||||
<?php $component->withName('admin::form'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag && $constructor = (new ReflectionClass(Illuminate\View\AnonymousComponent::class))->getConstructor()): ?>
|
||||
<?php $attributes = $attributes->except(collect($constructor->getParameters())->map->getName()->all()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['action' => '']); ?>
|
||||
<?php if (isset($component)) { $__componentOriginal7b1bc76a00ab5e7f1bf2c6429dae85a3 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal7b1bc76a00ab5e7f1bf2c6429dae85a3 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'admin::components.form.control-group.index','data' => ['class' => '!mb-0']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? (array) $attributes->getIterator() : [])); ?>
|
||||
<?php $component->withName('admin::form.control-group'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag && $constructor = (new ReflectionClass(Illuminate\View\AnonymousComponent::class))->getConstructor()): ?>
|
||||
<?php $attributes = $attributes->except(collect($constructor->getParameters())->map->getName()->all()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['class' => '!mb-0']); ?>
|
||||
<?php if (isset($component)) { $__componentOriginal53af403f6b2179a3039d488b8ab2a267 = $component; } ?>
|
||||
<?php if (isset($attributes)) { $__attributesOriginal53af403f6b2179a3039d488b8ab2a267 = $attributes; } ?>
|
||||
<?php $component = Illuminate\View\AnonymousComponent::resolve(['view' => 'admin::components.form.control-group.control','data' => ['type' => 'select','name' => 'format','vModel' => 'format']] + (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag ? (array) $attributes->getIterator() : [])); ?>
|
||||
<?php $component->withName('admin::form.control-group.control'); ?>
|
||||
<?php if ($component->shouldRender()): ?>
|
||||
<?php $__env->startComponent($component->resolveView(), $component->data()); ?>
|
||||
<?php if (isset($attributes) && $attributes instanceof Illuminate\View\ComponentAttributeBag && $constructor = (new ReflectionClass(Illuminate\View\AnonymousComponent::class))->getConstructor()): ?>
|
||||
<?php $attributes = $attributes->except(collect($constructor->getParameters())->map->getName()->all()); ?>
|
||||
<?php endif; ?>
|
||||
<?php $component->withAttributes(['type' => 'select','name' => 'format','v-model' => 'format']); ?>
|
||||
<option value="csv">
|
||||
<?php echo app('translator')->get('admin::app.export.csv'); ?>
|
||||
</option>
|
||||
|
||||
<option value="xls">
|
||||
<?php echo app('translator')->get('admin::app.export.xls'); ?>
|
||||
</option>
|
||||
|
||||
<option value="xlsx">
|
||||
<?php echo app('translator')->get('admin::app.export.xlsx'); ?>
|
||||
</option>
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal53af403f6b2179a3039d488b8ab2a267)): ?>
|
||||
<?php $attributes = $__attributesOriginal53af403f6b2179a3039d488b8ab2a267; ?>
|
||||
<?php unset($__attributesOriginal53af403f6b2179a3039d488b8ab2a267); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal53af403f6b2179a3039d488b8ab2a267)): ?>
|
||||
<?php $component = $__componentOriginal53af403f6b2179a3039d488b8ab2a267; ?>
|
||||
<?php unset($__componentOriginal53af403f6b2179a3039d488b8ab2a267); ?>
|
||||
<?php endif; ?>
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal7b1bc76a00ab5e7f1bf2c6429dae85a3)): ?>
|
||||
<?php $attributes = $__attributesOriginal7b1bc76a00ab5e7f1bf2c6429dae85a3; ?>
|
||||
<?php unset($__attributesOriginal7b1bc76a00ab5e7f1bf2c6429dae85a3); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal7b1bc76a00ab5e7f1bf2c6429dae85a3)): ?>
|
||||
<?php $component = $__componentOriginal7b1bc76a00ab5e7f1bf2c6429dae85a3; ?>
|
||||
<?php unset($__componentOriginal7b1bc76a00ab5e7f1bf2c6429dae85a3); ?>
|
||||
<?php endif; ?>
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal81b4d293d9113446bb908fc8aef5c8f6)): ?>
|
||||
<?php $attributes = $__attributesOriginal81b4d293d9113446bb908fc8aef5c8f6; ?>
|
||||
<?php unset($__attributesOriginal81b4d293d9113446bb908fc8aef5c8f6); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal81b4d293d9113446bb908fc8aef5c8f6)): ?>
|
||||
<?php $component = $__componentOriginal81b4d293d9113446bb908fc8aef5c8f6; ?>
|
||||
<?php unset($__componentOriginal81b4d293d9113446bb908fc8aef5c8f6); ?>
|
||||
<?php endif; ?>
|
||||
<?php $__env->endSlot(); ?>
|
||||
|
||||
<?php $__env->slot('footer', null, []); ?>
|
||||
<button
|
||||
type="button"
|
||||
class="primary-button"
|
||||
@click="download"
|
||||
>
|
||||
<?php echo app('translator')->get('admin::app.export.export'); ?>
|
||||
</button>
|
||||
<?php $__env->endSlot(); ?>
|
||||
<?php echo $__env->renderComponent(); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__attributesOriginal09768308838b828c7799162f44758281)): ?>
|
||||
<?php $attributes = $__attributesOriginal09768308838b828c7799162f44758281; ?>
|
||||
<?php unset($__attributesOriginal09768308838b828c7799162f44758281); ?>
|
||||
<?php endif; ?>
|
||||
<?php if (isset($__componentOriginal09768308838b828c7799162f44758281)): ?>
|
||||
<?php $component = $__componentOriginal09768308838b828c7799162f44758281; ?>
|
||||
<?php unset($__componentOriginal09768308838b828c7799162f44758281); ?>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</script>
|
||||
|
||||
<script type="module">
|
||||
app.component('v-datagrid-export', {
|
||||
template: '#v-datagrid-export-template',
|
||||
|
||||
props: ['src'],
|
||||
|
||||
data() {
|
||||
return {
|
||||
format: 'xls',
|
||||
|
||||
available: null,
|
||||
|
||||
applied: null,
|
||||
};
|
||||
},
|
||||
|
||||
mounted() {
|
||||
this.registerEvents();
|
||||
},
|
||||
|
||||
methods: {
|
||||
/**
|
||||
* Registers events to update properties and trigger the download process.
|
||||
*
|
||||
* @returns {void}
|
||||
*/
|
||||
registerEvents() {
|
||||
this.$emitter.on('change-datagrid', this.updateProperties);
|
||||
},
|
||||
|
||||
/**
|
||||
* Updates the available and applied properties with new values.
|
||||
*
|
||||
* @param {object} data - Object containing available and applied properties.
|
||||
* @returns {void}
|
||||
*/
|
||||
updateProperties({ available, applied }) {
|
||||
this.available = available;
|
||||
|
||||
this.applied = applied;
|
||||
},
|
||||
|
||||
/**
|
||||
* Initiates the download process for exporting data.
|
||||
*
|
||||
* @returns {void}
|
||||
*/
|
||||
download() {
|
||||
if (! this.available?.records?.length) {
|
||||
this.$emitter.emit('add-flash', { type: 'warning', message: '<?php echo app('translator')->get('admin::app.export.no-records'); ?>' });
|
||||
|
||||
this.$refs.exportModal.toggle();
|
||||
} else {
|
||||
let params = {
|
||||
export: 1,
|
||||
|
||||
format: this.format,
|
||||
|
||||
sort: {},
|
||||
|
||||
filters: {},
|
||||
};
|
||||
|
||||
if (
|
||||
this.applied.sort.column &&
|
||||
this.applied.sort.order
|
||||
) {
|
||||
params.sort = this.applied.sort;
|
||||
}
|
||||
|
||||
this.applied.filters.columns.forEach(column => {
|
||||
params.filters[column.index] = column.value;
|
||||
});
|
||||
|
||||
this.$axios
|
||||
.get(this.src, {
|
||||
params,
|
||||
responseType: 'blob',
|
||||
})
|
||||
.then((response) => {
|
||||
const url = window.URL.createObjectURL(new Blob([response.data]));
|
||||
|
||||
/**
|
||||
* Link generation.
|
||||
*/
|
||||
const link = document.createElement('a');
|
||||
link.href = url;
|
||||
link.setAttribute('download', `${(Math.random() + 1).toString(36).substring(7)}.${this.format}`);
|
||||
|
||||
/**
|
||||
* Adding a link to a document, clicking on the link, and then removing the link.
|
||||
*/
|
||||
document.body.appendChild(link);
|
||||
link.click();
|
||||
document.body.removeChild(link);
|
||||
|
||||
this.$refs.exportModal.toggle();
|
||||
});
|
||||
}
|
||||
},
|
||||
},
|
||||
});
|
||||
</script>
|
||||
<?php $__env->stopPush(); endif; ?>
|
||||
<?php /**PATH /var/www/html/packages/Webkul/Admin/src/Providers/../Resources/views/components/datagrid/export/index.blade.php ENDPATH**/ ?>
|
||||
Reference in New Issue
Block a user