first commit
This commit is contained in:
87
modules/ps_linklist/views/js/form/index.js
Normal file
87
modules/ps_linklist/views/js/form/index.js
Normal file
@@ -0,0 +1,87 @@
|
||||
/**
|
||||
* Copyright since 2007 PrestaShop SA and Contributors
|
||||
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Academic Free License version 3.0
|
||||
* that is bundled with this package in the file LICENSE.md.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* https://opensource.org/licenses/AFL-3.0
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@prestashop.com so we can send you a copy immediately.
|
||||
*
|
||||
* @author PrestaShop SA and Contributors <contact@prestashop.com>
|
||||
* @copyright Since 2007 PrestaShop SA and Contributors
|
||||
* @license https://opensource.org/licenses/AFL-3.0 Academic Free License version 3.0
|
||||
*/
|
||||
|
||||
import TranslatableInput from '@components/translatable-input';
|
||||
import ChoiceTree from '@components/form/choice-tree';
|
||||
|
||||
const $ = window.$;
|
||||
|
||||
$(() => {
|
||||
new TranslatableInput({localeInputSelector: '.js-locale-input'});
|
||||
|
||||
const idHookSelect = $('#form_link_block_id_hook');
|
||||
if (idHookSelect.hasClass('select2-hidden-accessible')) {
|
||||
const targetNode = document.getElementsByTagName('body')[0];
|
||||
const observer = new MutationObserver(function(mutationsList, observer) {
|
||||
for(let mutation of mutationsList) {
|
||||
if (mutation.type === 'childList' && mutation.addedNodes.length == 1) {
|
||||
let node = mutation.addedNodes[0];
|
||||
if ($(node).hasClass('select2-container--open')) {
|
||||
$('#select2-form_link_block_id_hook-results li').each(function () {
|
||||
$(this).attr('data-hook-name', $(this).html());
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
observer.observe(targetNode, { childList: true });
|
||||
}
|
||||
|
||||
const addCustomButton = $('.add-collection-btn');
|
||||
addCustomButton.on('click', appendPrototype);
|
||||
|
||||
const collectionId = addCustomButton.data().collectionId;
|
||||
const collection = document.getElementById(collectionId);
|
||||
const collectionPrototype = collection.dataset.prototype;
|
||||
|
||||
if (collection.children.length) {
|
||||
$('.custom_collection .col-sm-12').each((index, customBlock) => {
|
||||
appendDeleteButton($(customBlock));
|
||||
});
|
||||
} else {
|
||||
appendPrototype();
|
||||
}
|
||||
|
||||
function appendPrototype(event) {
|
||||
if (event) {
|
||||
event.preventDefault();
|
||||
}
|
||||
|
||||
const newChild = collectionPrototype.replace(/__name__/g, (collection.children.length + 1));
|
||||
const $newChild = $(newChild);
|
||||
$('#'+collectionId).append($newChild);
|
||||
appendDeleteButton($newChild);
|
||||
}
|
||||
|
||||
function appendDeleteButton(customBlock) {
|
||||
const collection = customBlock.closest('.custom_collection');
|
||||
const $button = $('<button class="remove_custom_url btn btn-primary mt-1">'+collection.data('deleteButtonLabel')+'</button>');
|
||||
$button.on('click', (event) => {
|
||||
event.preventDefault();
|
||||
const $button = $(event.target);
|
||||
const $row = $button.closest('.row');
|
||||
$row.remove();
|
||||
|
||||
return false;
|
||||
});
|
||||
customBlock.find('.locale-input-group').first().closest('.col-sm-12').append($button);
|
||||
}
|
||||
|
||||
new ChoiceTree('#form_link_block_shop_association').enableAutoCheckChildren();
|
||||
});
|
||||
28
modules/ps_linklist/views/js/form/index.php
Normal file
28
modules/ps_linklist/views/js/form/index.php
Normal file
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright since 2007 PrestaShop SA and Contributors
|
||||
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Academic Free License version 3.0
|
||||
* that is bundled with this package in the file LICENSE.md.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* https://opensource.org/licenses/AFL-3.0
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@prestashop.com so we can send you a copy immediately.
|
||||
*
|
||||
* @author PrestaShop SA and Contributors <contact@prestashop.com>
|
||||
* @copyright Since 2007 PrestaShop SA and Contributors
|
||||
* @license https://opensource.org/licenses/AFL-3.0 Academic Free License version 3.0
|
||||
*/
|
||||
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
|
||||
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
|
||||
|
||||
header('Cache-Control: no-store, no-cache, must-revalidate');
|
||||
header('Cache-Control: post-check=0, pre-check=0', false);
|
||||
header('Pragma: no-cache');
|
||||
|
||||
header('Location: ../');
|
||||
exit;
|
||||
38
modules/ps_linklist/views/js/grid/index.js
Normal file
38
modules/ps_linklist/views/js/grid/index.js
Normal file
@@ -0,0 +1,38 @@
|
||||
/**
|
||||
* Copyright since 2007 PrestaShop SA and Contributors
|
||||
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Academic Free License version 3.0
|
||||
* that is bundled with this package in the file LICENSE.md.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* https://opensource.org/licenses/AFL-3.0
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@prestashop.com so we can send you a copy immediately.
|
||||
*
|
||||
* @author PrestaShop SA and Contributors <contact@prestashop.com>
|
||||
* @copyright Since 2007 PrestaShop SA and Contributors
|
||||
* @license https://opensource.org/licenses/AFL-3.0 Academic Free License version 3.0
|
||||
*/
|
||||
|
||||
import Grid from '@components/grid/grid';
|
||||
import LinkRowActionExtension from '@components/grid/extension/link-row-action-extension';
|
||||
import SubmitRowActionExtension from '@components/grid/extension/action/row/submit-row-action-extension';
|
||||
import SortingExtension from "@components/grid/extension/sorting-extension";
|
||||
import PositionExtension from "@components/grid/extension/position-extension";
|
||||
|
||||
const $ = window.$;
|
||||
|
||||
$(() => {
|
||||
let gridDivs = document.querySelectorAll('.js-grid');
|
||||
gridDivs.forEach((gridDiv) => {
|
||||
const linkBlockGrid = new Grid(gridDiv.dataset.gridId);
|
||||
|
||||
linkBlockGrid.addExtension(new SortingExtension());
|
||||
linkBlockGrid.addExtension(new LinkRowActionExtension());
|
||||
linkBlockGrid.addExtension(new SubmitRowActionExtension());
|
||||
linkBlockGrid.addExtension(new PositionExtension());
|
||||
});
|
||||
});
|
||||
28
modules/ps_linklist/views/js/grid/index.php
Normal file
28
modules/ps_linklist/views/js/grid/index.php
Normal file
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright since 2007 PrestaShop SA and Contributors
|
||||
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Academic Free License version 3.0
|
||||
* that is bundled with this package in the file LICENSE.md.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* https://opensource.org/licenses/AFL-3.0
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@prestashop.com so we can send you a copy immediately.
|
||||
*
|
||||
* @author PrestaShop SA and Contributors <contact@prestashop.com>
|
||||
* @copyright Since 2007 PrestaShop SA and Contributors
|
||||
* @license https://opensource.org/licenses/AFL-3.0 Academic Free License version 3.0
|
||||
*/
|
||||
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
|
||||
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
|
||||
|
||||
header('Cache-Control: no-store, no-cache, must-revalidate');
|
||||
header('Cache-Control: post-check=0, pre-check=0', false);
|
||||
header('Pragma: no-cache');
|
||||
|
||||
header('Location: ../');
|
||||
exit;
|
||||
28
modules/ps_linklist/views/js/index.php
Normal file
28
modules/ps_linklist/views/js/index.php
Normal file
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright since 2007 PrestaShop SA and Contributors
|
||||
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Academic Free License version 3.0
|
||||
* that is bundled with this package in the file LICENSE.md.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* https://opensource.org/licenses/AFL-3.0
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@prestashop.com so we can send you a copy immediately.
|
||||
*
|
||||
* @author PrestaShop SA and Contributors <contact@prestashop.com>
|
||||
* @copyright Since 2007 PrestaShop SA and Contributors
|
||||
* @license https://opensource.org/licenses/AFL-3.0 Academic Free License version 3.0
|
||||
*/
|
||||
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
|
||||
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
|
||||
|
||||
header('Cache-Control: no-store, no-cache, must-revalidate');
|
||||
header('Cache-Control: post-check=0, pre-check=0', false);
|
||||
header('Pragma: no-cache');
|
||||
|
||||
header('Location: ../');
|
||||
exit;
|
||||
Reference in New Issue
Block a user