first commit
0
modules/pdproductattributeslist/.php-cs-fixer.cache
Normal file
12
modules/pdproductattributeslist/config_pl.xml
Normal file
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<module>
|
||||
<name>pdproductattributeslist</name>
|
||||
<displayName><![CDATA[Lista kombinacji produktów na stronie produktu]]></displayName>
|
||||
<version><![CDATA[2.0.0]]></version>
|
||||
<description><![CDATA[Lista kombinacji produktów na stronie produktu w tab-ie lub w stopce produktu lub własnym zaczepieniu]]></description>
|
||||
<author><![CDATA[PrestaDev.pl]]></author>
|
||||
<tab><![CDATA[front_office_features]]></tab>
|
||||
<is_configurable>1</is_configurable>
|
||||
<need_instance>0</need_instance>
|
||||
<limited_countries></limited_countries>
|
||||
</module>
|
||||
108
modules/pdproductattributeslist/controllers/front/ajax.php
Normal file
@@ -0,0 +1,108 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @author Patryk Marek <info@prestadev.pl>
|
||||
* @copyright 2013 - 2017 Patryk Marek
|
||||
* @link http://prestadev.pl
|
||||
* @package Product attributes list for PrestaShop 1.5.x and 1.6.x and 1.7.x
|
||||
* @version 1.0.3
|
||||
* @license Do not edit, modify or copy this file, if you wish to customize it, contact us at info@prestadev.pl
|
||||
* @date 28-10-2017
|
||||
*
|
||||
*/
|
||||
|
||||
class PdProductAttributesListAjaxModuleFrontController extends ModuleFrontController
|
||||
{
|
||||
public function initContent()
|
||||
{
|
||||
$this->ajax = true;
|
||||
parent::initContent();
|
||||
}
|
||||
|
||||
public function displayAjax()
|
||||
{
|
||||
$this->createCart();
|
||||
}
|
||||
|
||||
public function createCart()
|
||||
{
|
||||
$module = new PdProductAttributesList();
|
||||
if (Tools::getValue('secure_key') == $module->secure_key) {
|
||||
$action = Tools::getValue('action');
|
||||
if ($action == 'addProductsToCart') {
|
||||
$products = (array)Tools::getValue('products');
|
||||
$context = Context::getContext();
|
||||
if ((int)$context->cart->id == 0) {
|
||||
$cart = new Cart();
|
||||
$cart->id_currency = $this->context->currency->id;
|
||||
$cart->add();
|
||||
$context->cart = $cart;
|
||||
$context->cookie->id_cart = $cart->id;
|
||||
$context->cookie->write();
|
||||
} else {
|
||||
$cart = $context->cart;
|
||||
}
|
||||
|
||||
$result = false;
|
||||
if (is_array($products) && sizeof($products)) {
|
||||
$n = 0;
|
||||
$res = [];
|
||||
foreach ($products as $p) {
|
||||
$product = new Product($p['id_product'], false, $this->context->language->id, $this->context->shop->id);
|
||||
$n++;
|
||||
$res[$n]['response'] = $this->context->cart->updateQty(
|
||||
$p['quantity'],
|
||||
$p['id_product'],
|
||||
$p['id_product_attribute'],
|
||||
$p['id_customization']
|
||||
);
|
||||
$res[$n]['id_product'] = $p['id_product'];
|
||||
$res[$n]['id_product_attribute'] = $p['id_product_attribute'];
|
||||
$res[$n]['quantity'] = $p['quantity'];
|
||||
$res[$n]['product_name'] = $product->name;
|
||||
$res[$n]['max_quantity'] = StockAvailable::getQuantityAvailableByProduct($p['id_product'], $p['id_product_attribute'], $this->context->shop->id);
|
||||
$res[$n]['combination_name'] = $this->getAttributeCombinationsFullNameById($p['id_product'], $p['id_product_attribute'], $this->context->language->id, true);
|
||||
}
|
||||
$result = [true];
|
||||
}
|
||||
|
||||
die(json_encode($res));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function getAttributeCombinationsFullNameById($id_product, $id_product_attribute, $id_lang, $groupByIdAttributeGroup = true)
|
||||
{
|
||||
if (!Combination::isFeatureActive()) {
|
||||
return [];
|
||||
}
|
||||
|
||||
|
||||
$sql = 'SELECT CONCAT(agl.`name`, al.`name`) AS combination_name, agl.`name` AS group_name, al.`name` AS attribute_name,
|
||||
a.`id_attribute`, a.`position`
|
||||
FROM `' . _DB_PREFIX_ . 'product_attribute` pa
|
||||
' . Shop::addSqlAssociation('product_attribute', 'pa') . '
|
||||
LEFT JOIN `' . _DB_PREFIX_ . 'product_attribute_combination` pac ON pac.`id_product_attribute` = pa.`id_product_attribute`
|
||||
LEFT JOIN `' . _DB_PREFIX_ . 'attribute` a ON a.`id_attribute` = pac.`id_attribute`
|
||||
LEFT JOIN `' . _DB_PREFIX_ . 'attribute_group` ag ON ag.`id_attribute_group` = a.`id_attribute_group`
|
||||
LEFT JOIN `' . _DB_PREFIX_ . 'attribute_lang` al ON (a.`id_attribute` = al.`id_attribute` AND al.`id_lang` = ' . (int) $id_lang . ')
|
||||
LEFT JOIN `' . _DB_PREFIX_ . 'attribute_group_lang` agl ON (ag.`id_attribute_group` = agl.`id_attribute_group` AND agl.`id_lang` = ' . (int) $id_lang . ')
|
||||
WHERE pa.`id_product` = ' . (int) $id_product . '
|
||||
AND pa.`id_product_attribute` = ' . (int) $id_product_attribute . '
|
||||
GROUP BY pa.`id_product_attribute`' . ($groupByIdAttributeGroup ? ',ag.`id_attribute_group`' : '') . '
|
||||
ORDER BY pa.`id_product_attribute`';
|
||||
|
||||
$res = Db::getInstance()->executeS($sql);
|
||||
$combination_name = '';
|
||||
foreach ($res as $key => $row) {
|
||||
$combination_name .= $row['group_name'] . ': '.$row['attribute_name'].', ';
|
||||
}
|
||||
|
||||
if (empty($combination_name)) {
|
||||
$module = new PdProductAttributesList();
|
||||
return $module->l('No variant');
|
||||
} else {
|
||||
return rtrim($combination_name, ', ');
|
||||
}
|
||||
}
|
||||
}
|
||||
28
modules/pdproductattributeslist/controllers/front/index.php
Normal file
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
/**
|
||||
* 2012-2022 Patryk Marek PrestaDev
|
||||
*
|
||||
* Patryk Marek PrestaDev - PD Related Products Pro © All rights reserved.
|
||||
*
|
||||
* DISCLAIMER
|
||||
*
|
||||
* Do not edit, modify or copy this file.
|
||||
* If you wish to customize it, contact us at PrestaShop Addons.
|
||||
*
|
||||
* @author Patryk Marek PrestaDev
|
||||
* @copyright 2012-2022 Patryk Marek - PrestaDev
|
||||
|
||||
* @package PD Related Products Pro 1 - PrestaShop 1.6.x and 1.7.x Module
|
||||
* @version 1.1.1
|
||||
* @license https://opensource.org/licenses/Apache-2.0 http://www.apache.org/licenses/LICENSE-2.0 Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License.* @date 10-06-2015
|
||||
*/
|
||||
|
||||
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;
|
||||
35
modules/pdproductattributeslist/controllers/index.php
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2011 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Open Software License (OSL 3.0)
|
||||
* that is bundled with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://opensource.org/licenses/osl-3.0.php
|
||||
* 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.
|
||||
*
|
||||
* DISCLAIMER
|
||||
*
|
||||
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
|
||||
* versions in the future. If you wish to customize PrestaShop for your
|
||||
* needs please refer to http://www.prestashop.com for more information.
|
||||
*
|
||||
* @author PrestaShop SA <contact@prestashop.com>
|
||||
* @copyright 2007-2011 PrestaShop SA
|
||||
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*/
|
||||
|
||||
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;
|
||||
35
modules/pdproductattributeslist/index.php
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2013 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Academic Free License (AFL 3.0)
|
||||
* that is bundled with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://opensource.org/licenses/afl-3.0.php
|
||||
* 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.
|
||||
*
|
||||
* DISCLAIMER
|
||||
*
|
||||
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
|
||||
* versions in the future. If you wish to customize PrestaShop for your
|
||||
* needs please refer to http://www.prestashop.com for more information.
|
||||
*
|
||||
* @author PrestaShop SA <contact@prestashop.com>
|
||||
* @copyright 2007-2013 PrestaShop SA
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*/
|
||||
|
||||
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;
|
||||
BIN
modules/pdproductattributeslist/logo.gif
Normal file
|
After Width: | Height: | Size: 555 B |
BIN
modules/pdproductattributeslist/logo.png
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
683
modules/pdproductattributeslist/pdproductattributeslist.php
Normal file
@@ -0,0 +1,683 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @author Patryk Marek <info@prestadev.pl>
|
||||
* @copyright 2013 - 2017 Patryk Marek
|
||||
* @link http://prestadev.pl
|
||||
* @package Product attributes list for PrestaShop 1.5.x and 1.6.x and 1.7.x
|
||||
* @version 1.0.3
|
||||
* @license Do not edit, modify or copy this file, if you wish to customize it, contact us at info@prestadev.pl
|
||||
* @date 28-10-2017
|
||||
*
|
||||
*/
|
||||
|
||||
if (!defined('_PS_VERSION_')) {
|
||||
exit;
|
||||
}
|
||||
|
||||
class PdProductAttributesList extends Module
|
||||
{
|
||||
private $html = '';
|
||||
private $postErrors = array();
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->name = 'pdproductattributeslist';
|
||||
$this->tab = 'front_office_features';
|
||||
$this->version = '2.0.0';
|
||||
$this->author = 'PrestaDev.pl';
|
||||
$this->need_instance = 0;
|
||||
$this->module_key = '5f46066c31c75e2acfdf9483396e7ar6';
|
||||
$this->secure_key = Tools::encrypt($this->name);
|
||||
$this->bootstrap = true;
|
||||
|
||||
parent::__construct();
|
||||
|
||||
$this->displayName = $this->l('Product attributes list on product page');
|
||||
$this->description = $this->l('Allow to display product attributes list on product page as a tab or in product footer hook');
|
||||
|
||||
$this->ps_version_17 = (version_compare(substr(_PS_VERSION_, 0, 3), '1.7', '=')) ? true : false;
|
||||
$this->ps_version_8 = (version_compare(substr(_PS_VERSION_, 0, 3), '8.0', '>=')) ? true : false;
|
||||
}
|
||||
|
||||
public function install()
|
||||
{
|
||||
if (!parent::install()
|
||||
|| !$this->registerHook('displayProductTab')
|
||||
|| !$this->registerHook('displayHeader')
|
||||
|
||||
|| !$this->registerHook('displayFooterProduct')
|
||||
|| !$this->registerHook('displayProductTabContent')
|
||||
|| !$this->registerHook('displayProductExtraContent')
|
||||
|| !$this->registerHook('displayCustomAttributesListTable')
|
||||
|| !Configuration::updateValue('PD_PAL_ONLY_IN_STOCK', 0)
|
||||
|| !Configuration::updateValue('PD_PAL_DISPLAY_T_HEADING', 1)
|
||||
|| !Configuration::updateValue('PD_PAL_DISPLAY_B_HEADING', 1)
|
||||
|| !Configuration::updateValue('PD_PAL_SHOW_ATTRIBUT_TETEXTURE_IMG', 1)
|
||||
|| !Configuration::updateValue('PD_PAL_DISPLAY_LAYOUT', 0)
|
||||
|| !Configuration::updateValue('PD_PAL_PLACEMENT', 1)) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public function uninstall()
|
||||
{
|
||||
if (!parent::uninstall()) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/*
|
||||
** Form Config Methods
|
||||
**
|
||||
*/
|
||||
public function getContent()
|
||||
{
|
||||
if (Tools::isSubmit('btnSubmit')) {
|
||||
$this->postValidation();
|
||||
if (!count($this->postErrors)) {
|
||||
$this->postProcess();
|
||||
} else {
|
||||
foreach ($this->postErrors as $err) {
|
||||
$this->html .= $this->displayError($err);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$this->html .= '<br />';
|
||||
}
|
||||
|
||||
$this->html .= '<h2>'.$this->displayName.' (v'.$this->version.')</h2><p>'.$this->description.'</p>';
|
||||
$this->html .= $this->renderForm();
|
||||
$this->html .= '<br />';
|
||||
$this->html .= $this->displayExtraForm();
|
||||
|
||||
return $this->html;
|
||||
}
|
||||
|
||||
public function renderForm()
|
||||
{
|
||||
$switch = version_compare(_PS_VERSION_, '1.6.0', '>=') ? 'switch' : 'radio';
|
||||
$fields_form_1 = array(
|
||||
'form' => array(
|
||||
'legend' => array(
|
||||
'title' => $this->l('Module Configuration'),
|
||||
'icon' => 'icon-cogs'
|
||||
),
|
||||
'input' => array(
|
||||
array(
|
||||
'type' => $switch,
|
||||
'label' => $this->l('Display block heading'),
|
||||
'desc' => $this->l('Displays block heading'),
|
||||
'class' => 't',
|
||||
'name' => 'PD_PAL_DISPLAY_B_HEADING',
|
||||
'values' => array(
|
||||
array(
|
||||
'id' => 'yes',
|
||||
'value' => 1,
|
||||
'label' => $this->l('Yes')
|
||||
),
|
||||
array(
|
||||
'id' => 'no',
|
||||
'value' => 0,
|
||||
'label' => $this->l('No')
|
||||
),
|
||||
)
|
||||
),
|
||||
array(
|
||||
'type' => 'radio',
|
||||
'label' => $this->l('Display layout'),
|
||||
'desc' => $this->l('Display layout of product combinations'),
|
||||
'class' => 't',
|
||||
'name' => 'PD_PAL_DISPLAY_LAYOUT',
|
||||
'values' => array(
|
||||
array(
|
||||
'id' => '0',
|
||||
'value' => 0,
|
||||
'label' => $this->l('Table')
|
||||
),
|
||||
array(
|
||||
'id' => '1',
|
||||
'value' => 1,
|
||||
'label' => $this->l('Grid')
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'type' => 'radio',
|
||||
'label' => $this->l('Table placement'),
|
||||
'desc' => $this->l('Displays table in product page tab or custom hook in product page (see instructions bellow)'),
|
||||
'class' => 't',
|
||||
'name' => 'PD_PAL_PLACEMENT',
|
||||
'values' => array(
|
||||
array(
|
||||
'id' => '0',
|
||||
'value' => 0,
|
||||
'label' => $this->l('Custom hook (displayCustomAttributesListTable)')
|
||||
),
|
||||
array(
|
||||
'id' => '1',
|
||||
'value' => 1,
|
||||
'label' => $this->l('Product tab')
|
||||
),
|
||||
array(
|
||||
'id' => '2',
|
||||
'value' => 2,
|
||||
'label' => $this->l('Product footer')
|
||||
),
|
||||
)
|
||||
),
|
||||
),
|
||||
'submit' => array(
|
||||
'title' => $this->l('Save settings'),
|
||||
)
|
||||
),
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
$helper = new HelperForm();
|
||||
$helper->module = $this;
|
||||
$helper->show_toolbar = false;
|
||||
$helper->table = $this->table;
|
||||
$lang = new Language((int)Configuration::get('PS_LANG_DEFAULT'));
|
||||
$helper->default_form_language = $lang->id;
|
||||
$helper->allow_employee_form_lang = Configuration::get('PS_BO_ALLOW_EMPLOYEE_FORM_LANG') ? Configuration::get('PS_BO_ALLOW_EMPLOYEE_FORM_LANG') : 0;
|
||||
$this->fields_form = array();
|
||||
|
||||
$helper->identifier = $this->identifier;
|
||||
$helper->submit_action = 'btnSubmit';
|
||||
$helper->currentIndex = $this->context->link->getAdminLink('AdminModules', false).'&configure='.$this->name.'&tab_module='.$this->tab.'&module_name='.$this->name;
|
||||
$helper->token = Tools::getAdminTokenLite('AdminModules');
|
||||
$helper->tpl_vars = array(
|
||||
'fields_value' => $this->getConfigFieldsValues(),
|
||||
'languages' => $this->context->controller->getLanguages(),
|
||||
'id_language' => $this->context->language->id
|
||||
);
|
||||
|
||||
return $helper->generateForm(array($fields_form_1));
|
||||
}
|
||||
|
||||
private function displayExtraForm()
|
||||
{
|
||||
|
||||
$this->html .= '
|
||||
<fieldset class="panel">
|
||||
<div class="panel-heading">
|
||||
<i class="icon-cogs"></i>
|
||||
'.$this->l('Instalation instructions for custom hook table').'
|
||||
</div>
|
||||
<div class="form-wrapper">
|
||||
'.$this->l('Please open file on which You want to add module').'
|
||||
'.$this->l('for editing and add in place where you want to display table code:').'
|
||||
<textarea name="code" cols="100" rows="2">{hook h=\'displayCustomAttributesListTable\'}</textarea>
|
||||
</div>
|
||||
</fieldset>';
|
||||
}
|
||||
|
||||
|
||||
|
||||
public function getConfigFieldsValues()
|
||||
{
|
||||
$return = array();
|
||||
$return['PD_PAL_DISPLAY_T_HEADING'] = Tools::getValue('PD_PAL_DISPLAY_T_HEADING', Configuration::get('PD_PAL_DISPLAY_T_HEADING'));
|
||||
$return['PD_PAL_DISPLAY_B_HEADING'] = Tools::getValue('PD_PAL_DISPLAY_B_HEADING', Configuration::get('PD_PAL_DISPLAY_B_HEADING'));
|
||||
$return['PD_PAL_PLACEMENT'] = Configuration::get('PD_PAL_PLACEMENT');
|
||||
$return['PD_PAL_ONLY_IN_STOCK'] = Configuration::get('PD_PAL_ONLY_IN_STOCK');
|
||||
$return['PD_PAL_DISPLAY_LAYOUT'] = Configuration::get('PD_PAL_DISPLAY_LAYOUT');
|
||||
$return['PD_PAL_SHOW_ATTRIBUT_TETEXTURE_IMG'] = Configuration::get('PD_PAL_SHOW_ATTRIBUT_TETEXTURE_IMG');
|
||||
return $return;
|
||||
}
|
||||
|
||||
|
||||
private function postValidation()
|
||||
{
|
||||
}
|
||||
|
||||
private function postProcess()
|
||||
{
|
||||
Configuration::updateValue('PD_PAL_DISPLAY_B_HEADING', Tools::getValue('PD_PAL_DISPLAY_B_HEADING'));
|
||||
Configuration::updateValue('PD_PAL_DISPLAY_T_HEADING', Tools::getValue('PD_PAL_DISPLAY_T_HEADING'));
|
||||
Configuration::updateValue('PD_PAL_PLACEMENT', Tools::getValue('PD_PAL_PLACEMENT'));
|
||||
Configuration::updateValue('PD_PAL_ONLY_IN_STOCK', Tools::getValue('PD_PAL_ONLY_IN_STOCK'));
|
||||
Configuration::updateValue('PD_PAL_DISPLAY_LAYOUT', Tools::getValue('PD_PAL_DISPLAY_LAYOUT'));
|
||||
Configuration::updateValue('PD_PAL_SHOW_ATTRIBUT_TETEXTURE_IMG', Tools::getValue('PD_PAL_SHOW_ATTRIBUT_TETEXTURE_IMG'));
|
||||
$this->html .= $this->displayConfirmation($this->l('Settings updated'));
|
||||
}
|
||||
|
||||
public function hookDisplayHeader($params)
|
||||
{
|
||||
if (!empty(Context::getContext()->controller->php_self)) {
|
||||
$controller = Context::getContext()->controller->php_self;
|
||||
} else {
|
||||
$controller = Tools::getValue('controller');
|
||||
}
|
||||
|
||||
if ($controller == 'product' || $controller == 'category') {
|
||||
|
||||
$this->context->controller->addJquery();
|
||||
$this->context->controller->addJqueryPlugin('fancybox');
|
||||
$this->context->controller->addJqueryPlugin('growl', null, false);
|
||||
$this->context->controller->registerStylesheet('growl-css', 'js/jquery/plugins/growl/jquery.growl.css');
|
||||
|
||||
Media::addJsDef(array(
|
||||
'pdproductattributeslist_add_ok' => $this->l(' was added!'),
|
||||
'pdproductattributeslist_title_error' => $this->l('Error'),
|
||||
'pdproductattributeslist_title_ok' => $this->l('Success'),
|
||||
'pdproductattributeslist_pcs' => $this->l('pcs.'),
|
||||
'pdproductattributeslist_product' => $this->l('Product: '),
|
||||
'pdproductattributeslist_variant' => $this->l('in variant:'),
|
||||
'pdproductattributeslist_max_qty' => $this->l(' max quantity is: '),
|
||||
'pdproductattributeslist_add_error' => $this->l('There no products quantities selected!'),
|
||||
'pdproductattributeslist_secure_key' => $this->secure_key,
|
||||
'pdproductattributeslist_ajax_link' => $this->context->link->getModuleLink('pdproductattributeslist', 'ajax', array()),
|
||||
));
|
||||
}
|
||||
|
||||
$this->context->controller->registerStylesheet('modules-pdproductattributeslist-front', 'modules/'.$this->name.'/views/css/pdproductattributeslist.css', array('media' => 'all', 'priority' => 150));
|
||||
$this->context->controller->registerStylesheet('modules-pdproductattributeslist-front-tablesorter', 'modules/'.$this->name.'/views/css/theme.default.min.css', array('media' => 'all', 'priority' => 150));
|
||||
$this->context->controller->registerStylesheet('modules-pdproductattributeslist-front-tablesorter-bootstrap-3', 'modules/'.$this->name.'/views/css/theme.bootstrap_3.min.css', array('media' => 'all', 'priority' => 150));
|
||||
$this->context->controller->registerStylesheet('modules-pdproductattributeslist-front-tablesorter-bootstrap-4', 'modules/'.$this->name.'/views/css/theme.bootstrap_4.min.css', array('media' => 'all', 'priority' => 150));
|
||||
$this->context->controller->registerStylesheet('modules-pdproductattributeslist-front-tablesorter-bootstrap', 'modules/'.$this->name.'/views/css/theme.bootstrap.min.css', array('media' => 'all', 'priority' => 150));
|
||||
|
||||
$this->context->controller->registerJavascript('modules-pdproductattributeslist-tablesorter', 'modules/'.$this->name.'/views/js/jquery.tablesorter.min.js', array('position' => 'bottom', 'priority' => 150));
|
||||
$this->context->controller->registerJavascript('modules-pdproductattributeslist-tablesorter-widgets', 'modules/'.$this->name.'/views/js/jquery.tablesorter.widgets.min.js', array('position' => 'bottom', 'priority' => 150));
|
||||
$this->context->controller->registerJavascript('modules-pdproductattributeslist', 'modules/'.$this->name.'/views/js/pdproductattributeslist.js', array('position' => 'bottom', 'priority' => 150));
|
||||
|
||||
}
|
||||
|
||||
public function hookDisplayProductExtraContent($params)
|
||||
{
|
||||
$placement = Configuration::get('PD_PAL_PLACEMENT');
|
||||
$product = $this->context->controller->getProduct();
|
||||
if ($product->hasAttributes() == 0) {
|
||||
return array();
|
||||
}
|
||||
|
||||
if (($this->ps_version_17 || $this->ps_version_8) && $placement == 1 && Tools::getValue('ajax', 'false') == 'false') {
|
||||
$tabz[] = (new PrestaShop\PrestaShop\Core\Product\ProductExtraContent())->setTitle($this->l('Select product combination'))->setContent($this->hookDisplayProductTabContent($params));
|
||||
return $tabz;
|
||||
} else {
|
||||
return array();
|
||||
}
|
||||
}
|
||||
|
||||
public function hookDisplayProductTabContent($params)
|
||||
{
|
||||
$placement = Configuration::get('PD_PAL_PLACEMENT');
|
||||
$display_layout = Configuration::get('PD_PAL_DISPLAY_LAYOUT');
|
||||
if ($placement == 1) {
|
||||
$id_lang = (int)$this->context->language->id;
|
||||
$id_shop = (int)$this->context->shop->id;
|
||||
$product = $this->context->controller->getProduct();
|
||||
$product_combinations = $this->getAttributeCombinations($product->id, $id_lang, $id_shop);
|
||||
//dump($product_combinations);
|
||||
$this->context->smarty->assign(array(
|
||||
'product_combinations' => $product_combinations,
|
||||
'block_heading'=> Configuration::get('PD_PAL_DISPLAY_B_HEADING'),
|
||||
'cartSize' => Image::getSize(ImageType::getFormattedName('cart')),
|
||||
'homeSize' => Image::getSize(ImageType::getFormattedName('home')),
|
||||
'is_catalog' => (bool) Configuration::isCatalogMode(),
|
||||
'show_prices' => (bool) Configuration::showPrices(),
|
||||
'ps_version_17' => $this->ps_version_17,
|
||||
'ps_version_8' => $this->ps_version_8
|
||||
));
|
||||
|
||||
|
||||
if ($display_layout == 0) {
|
||||
return $this->display(__FILE__, 'hookDisplayProductTabContent.tpl');
|
||||
} else {
|
||||
return $this->display(__FILE__, 'hookDisplayProductTabContentGrid.tpl');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function hookDisplayProductTab($params)
|
||||
{
|
||||
$placement = Configuration::get('PD_PAL_PLACEMENT');
|
||||
|
||||
if ($placement == 1) {
|
||||
$context = Context::getContext();
|
||||
$cart = new Cart((int)$context->cart->id);
|
||||
$product = $this->context->controller->getProduct();
|
||||
|
||||
$this->context->smarty->assign(array(
|
||||
'ps_version_15' => $this->ps_version_15,
|
||||
'ps_version_16' => $this->ps_version_16,
|
||||
'ps_version_17' => $this->ps_version_17
|
||||
));
|
||||
|
||||
return $this->display(__FILE__, 'hookDisplayProductTab.tpl');
|
||||
}
|
||||
}
|
||||
|
||||
public function hookDisplayFooterProduct($params)
|
||||
{
|
||||
$placement = Configuration::get('PD_PAL_PLACEMENT');
|
||||
$display_layout = Configuration::get('PD_PAL_DISPLAY_LAYOUT');
|
||||
|
||||
if ($placement == 2) {
|
||||
$id_lang = (int)$this->context->language->id;
|
||||
$id_shop = (int)$this->context->shop->id;
|
||||
$product = $this->context->controller->getProduct();
|
||||
|
||||
$product_combinations = $this->getAttributeCombinations($product->id, $id_lang, $id_shop);
|
||||
//dump($product_combinations);
|
||||
$this->context->smarty->assign(array(
|
||||
'product_combinations' => $product_combinations,
|
||||
'block_heading'=> Configuration::get('PD_PAL_DISPLAY_B_HEADING'),
|
||||
'cartSize' => Image::getSize(ImageType::getFormattedName('cart')),
|
||||
'homeSize' => Image::getSize(ImageType::getFormattedName('home')),
|
||||
'is_catalog' => (bool) Configuration::isCatalogMode(),
|
||||
'show_prices' => (bool) Configuration::showPrices(),
|
||||
'ps_version_17' => $this->ps_version_17,
|
||||
'ps_version_8' => $this->ps_version_8
|
||||
));
|
||||
|
||||
|
||||
if ($display_layout == 0) {
|
||||
return $this->display(__FILE__, 'hookDisplayProductTabContent.tpl');
|
||||
} else {
|
||||
return $this->display(__FILE__, 'hookDisplayProductTabContentGrid.tpl');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public function hookDisplayCustomAttributesListTable($params)
|
||||
{
|
||||
$id_product = (int)$params['product']->id;
|
||||
$product = new Product($id_product);
|
||||
|
||||
$id_lang = (int)$this->context->language->id;
|
||||
$id_shop = (int)$this->context->shop->id;
|
||||
|
||||
$product_combinations = $this->getAttributeCombinations($id_product, $id_lang, $id_shop);
|
||||
|
||||
$this->context->smarty->assign(array(
|
||||
'product_combinations' => $product_combinations,
|
||||
'block_heading'=> Configuration::get('PD_PAL_DISPLAY_B_HEADING'),
|
||||
'cartSize' => Image::getSize(ImageType::getFormattedName('cart')),
|
||||
'homeSize' => Image::getSize(ImageType::getFormattedName('home')),
|
||||
'is_catalog' => (bool) Configuration::isCatalogMode(),
|
||||
'show_prices' => (bool) Configuration::showPrices(),
|
||||
'ps_version_17' => $this->ps_version_17,
|
||||
'ps_version_8' => $this->ps_version_8
|
||||
));
|
||||
|
||||
return $this->display(__FILE__, 'hookDisplayCustomAttributesListTable.tpl');
|
||||
|
||||
}
|
||||
|
||||
private function getAttributeCombinations($id_product, $id_lang, $id_shop)
|
||||
{
|
||||
$sql = 'SELECT pa.`id_product_attribute`, pa.`id_product`, pa.`reference`, pa.`ean13`, pa.`mpn`, pas.`weight` as weight_impact, p.`weight` as weight_base, pa.`minimal_quantity`,
|
||||
ag.`id_attribute_group`, ag.`is_color_group`, agl.`public_name` AS group_name, al.`name` AS attribute_name, al.`name` AS attribute_name_html,
|
||||
a.`id_attribute`, a.`color`
|
||||
FROM `'._DB_PREFIX_.'product_attribute` pa
|
||||
INNER JOIN `'._DB_PREFIX_.'product_attribute_shop` pas ON (pas.id_product_attribute = pa.id_product_attribute AND pas.id_shop = '.(int)$id_shop.')
|
||||
LEFT JOIN `'._DB_PREFIX_.'product_attribute_combination` pac ON pac.`id_product_attribute` = pa.`id_product_attribute`
|
||||
LEFT JOIN `'._DB_PREFIX_.'attribute` a ON a.`id_attribute` = pac.`id_attribute`
|
||||
LEFT JOIN `'._DB_PREFIX_.'attribute_group` ag ON ag.`id_attribute_group` = a.`id_attribute_group`
|
||||
LEFT JOIN `'._DB_PREFIX_.'attribute_lang` al ON (a.`id_attribute` = al.`id_attribute` AND al.`id_lang` = '.(int)$id_lang.')
|
||||
LEFT JOIN `'._DB_PREFIX_.'attribute_group_lang` agl ON (ag.`id_attribute_group` = agl.`id_attribute_group` AND agl.`id_lang` = '.(int)$id_lang.')
|
||||
LEFT JOIN `'._DB_PREFIX_.'product` p ON (p.`id_product` = '.(int)$id_product.')
|
||||
|
||||
WHERE pa.`id_product` = '.(int)$id_product.'
|
||||
ORDER BY pa.`id_product_attribute`';
|
||||
|
||||
$results = Db::getInstance()->ExecuteS($sql);
|
||||
$return = array();
|
||||
$product = new Product($id_product, false, $id_lang, $id_shop);
|
||||
$context = Context::getContext();
|
||||
$specific_price_output = null;
|
||||
$only_in_stock = Configuration::get('PD_PAL_ONLY_IN_STOCK');
|
||||
if (is_array($results) && count($results) > 1) {
|
||||
foreach ($results as $k => $r) {
|
||||
if (!isset($return[$r['id_product_attribute']]['attribute_name'])) {
|
||||
$return[$r['id_product_attribute']]['attribute_name'] = '';
|
||||
}
|
||||
|
||||
if (!isset($return[$r['id_product_attribute']]['attribute_name_html'])) {
|
||||
$return[$r['id_product_attribute']]['attribute_name_html'] = '';
|
||||
}
|
||||
$return[$r['id_product_attribute']]['id_attribute'] = $r['id_attribute'];
|
||||
$return[$r['id_product_attribute']]['color'] = $r['color'];
|
||||
|
||||
$return[$r['id_product_attribute']]['id_product'] = $id_product;
|
||||
$return[$r['id_product_attribute']]['id_product_attribute'] = $r['id_product_attribute'];
|
||||
$return[$r['id_product_attribute']]['attribute_name'] .= rtrim(Tools::ucfirst($r['group_name']).': '.Tools::ucfirst($r['attribute_name']).', ', ',');
|
||||
$return[$r['id_product_attribute']]['attribute_name_html'] .= $r['group_name'].': <b>'.$r['attribute_name'].'</b><br />';
|
||||
$return[$r['id_product_attribute']]['reference'] = $r['reference'] ? $r['reference'] : '';
|
||||
$return[$r['id_product_attribute']]['ean13'] = $r['ean13'] ? $r['ean13'] : '';
|
||||
$return[$r['id_product_attribute']]['mpn'] = $r['mpn'] ? $r['mpn'] : '';
|
||||
|
||||
$return[$r['id_product_attribute']]['minimal_quantity'] = $r['minimal_quantity'];
|
||||
$return[$r['id_product_attribute']]['price'] = Product::getPriceStatic(
|
||||
(int)$id_product,
|
||||
true,
|
||||
(int)$r['id_product_attribute'],
|
||||
2,
|
||||
null,
|
||||
false,
|
||||
true,
|
||||
1,
|
||||
false,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
$specific_price_output,
|
||||
true,
|
||||
true,
|
||||
$context,
|
||||
true
|
||||
);
|
||||
$return[$r['id_product_attribute']]['price_tax_excl'] = Product::getPriceStatic(
|
||||
(int)$id_product,
|
||||
false,
|
||||
(int)$r['id_product_attribute'],
|
||||
2,
|
||||
null,
|
||||
false,
|
||||
true,
|
||||
1,
|
||||
false,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
$specific_price_output,
|
||||
true,
|
||||
true,
|
||||
$context,
|
||||
true
|
||||
);
|
||||
$return[$r['id_product_attribute']]['price_old'] = Product::getPriceStatic(
|
||||
(int)$id_product,
|
||||
true,
|
||||
(int)$r['id_product_attribute'],
|
||||
2,
|
||||
null,
|
||||
false,
|
||||
false,
|
||||
1,
|
||||
false,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
$specific_price_output,
|
||||
true,
|
||||
true,
|
||||
$context,
|
||||
true
|
||||
);
|
||||
$return[$r['id_product_attribute']]['price_old_tax_excl'] = Product::getPriceStatic(
|
||||
(int)$id_product,
|
||||
false,
|
||||
(int)$r['id_product_attribute'],
|
||||
2,
|
||||
null,
|
||||
false,
|
||||
false,
|
||||
1,
|
||||
false,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
$specific_price_output,
|
||||
true,
|
||||
true,
|
||||
$context,
|
||||
true
|
||||
);
|
||||
$return[$r['id_product_attribute']]['quantity'] = StockAvailable::getQuantityAvailableByProduct($id_product, (int)$r['id_product_attribute'], $id_shop);
|
||||
|
||||
|
||||
$return[$r['id_product_attribute']]['images'] = Image::getBestImageAttribute($id_shop, $id_lang, $id_product, (int)$r['id_product_attribute']);
|
||||
|
||||
if ((!isset($return[$r['id_product_attribute']]['color']) && Tools::isEmpty($return[$r['id_product_attribute']]['color'])) && (file_exists(_PS_COL_IMG_DIR_.$r['id_attribute'].'.jpg'))) {
|
||||
$return[$r['id_product_attribute']]['color_texture_link'] = _THEME_COL_DIR_.$r['id_attribute'].'.jpg';
|
||||
} else {
|
||||
$return[$r['id_product_attribute']]['color_texture_link'] = '';
|
||||
}
|
||||
|
||||
|
||||
|
||||
$return[$r['id_product_attribute']]['combination_link'] = $context->link->getProductLink(
|
||||
$product,
|
||||
$product->link_rewrite,
|
||||
null,
|
||||
null,
|
||||
$context->language->id,
|
||||
$context->shop->id,
|
||||
$r['id_product_attribute']
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
||||
foreach ($return as &$r) {
|
||||
$r['product_name'] = $product->name;
|
||||
$r['attribute_name'] = rtrim($r['attribute_name'], ', ');
|
||||
$r['name'] = rtrim((string)$r['attribute_name'], ', ');
|
||||
|
||||
// if ($only_in_stock && $return[$r['id_product_attribute']]['quantity'] <= 0) {
|
||||
// unset($r['id_product_attribute']);
|
||||
// }
|
||||
|
||||
$images = Image::getImages($id_lang, $id_product, $r['id_product_attribute'], $id_shop);
|
||||
|
||||
if (!$images) {
|
||||
$images = Image::getImages($id_lang, $id_product, null, $id_shop);
|
||||
}
|
||||
foreach ($images as &$i) {
|
||||
$i['large_default'] = $context->link->getImageLink($product->link_rewrite, $i['id_image'], 'large_default');
|
||||
$i['home_default'] = $context->link->getImageLink($product->link_rewrite, $i['id_image'], 'home_default');
|
||||
}
|
||||
$r['images'] = $images;
|
||||
}
|
||||
} else {
|
||||
$images = Image::getImages($id_lang, $id_product, null, $id_shop);
|
||||
foreach ($images as &$i) {
|
||||
$i['large_default'] = $context->link->getImageLink($product->link_rewrite, $i['id_image'], 'large_default');
|
||||
$i['home_default'] = $context->link->getImageLink($product->link_rewrite, $i['id_image'], 'home_default');
|
||||
}
|
||||
|
||||
|
||||
$return[0] = [
|
||||
'product_name' => $product->name,
|
||||
'name' => $product->name,
|
||||
'attribute_name' => $this->l('--'),
|
||||
'attribute_name_html' => $this->l('--'),
|
||||
'images' => $images,
|
||||
'reference' => $product->reference,
|
||||
'ean13' => $product->ean13,
|
||||
'mpn' => $product->mpn,
|
||||
'id_product' => $product->id,
|
||||
'id_product_attribute' => 0,
|
||||
|
||||
'minimal_quantity' => '',
|
||||
'price' => Product::getPriceStatic(
|
||||
(int)$id_product,
|
||||
true,
|
||||
0,
|
||||
2,
|
||||
null,
|
||||
false,
|
||||
true,
|
||||
1,
|
||||
false,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
$specific_price_output,
|
||||
true,
|
||||
true,
|
||||
$context,
|
||||
true
|
||||
),
|
||||
'price_tax_excl' => Product::getPriceStatic(
|
||||
(int)$id_product,
|
||||
false,
|
||||
0,
|
||||
2,
|
||||
null,
|
||||
false,
|
||||
true,
|
||||
1,
|
||||
false,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
$specific_price_output,
|
||||
true,
|
||||
true,
|
||||
$context,
|
||||
true
|
||||
),
|
||||
'price_old' => Product::getPriceStatic(
|
||||
(int)$id_product,
|
||||
true,
|
||||
0,
|
||||
2,
|
||||
null,
|
||||
false,
|
||||
false,
|
||||
1,
|
||||
false,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
$specific_price_output,
|
||||
true,
|
||||
true,
|
||||
$context,
|
||||
true
|
||||
),
|
||||
'price_old_tax_excl' => Product::getPriceStatic(
|
||||
(int)$id_product,
|
||||
false,
|
||||
0,
|
||||
2,
|
||||
null,
|
||||
false,
|
||||
false,
|
||||
1,
|
||||
false,
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
$specific_price_output,
|
||||
true,
|
||||
true,
|
||||
$context,
|
||||
true
|
||||
),
|
||||
'quantity' => StockAvailable::getQuantityAvailableByProduct($id_product, 0, $id_shop),
|
||||
];
|
||||
}
|
||||
|
||||
return $return;
|
||||
}
|
||||
}
|
||||
35
modules/pdproductattributeslist/translations/index.php
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2013 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Academic Free License (AFL 3.0)
|
||||
* that is bundled with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://opensource.org/licenses/afl-3.0.php
|
||||
* 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.
|
||||
*
|
||||
* DISCLAIMER
|
||||
*
|
||||
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
|
||||
* versions in the future. If you wish to customize PrestaShop for your
|
||||
* needs please refer to http://www.prestashop.com for more information.
|
||||
*
|
||||
* @author PrestaShop SA <contact@prestashop.com>
|
||||
* @copyright 2007-2013 PrestaShop SA
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*/
|
||||
|
||||
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;
|
||||
72
modules/pdproductattributeslist/translations/pl.php
Normal file
@@ -0,0 +1,72 @@
|
||||
<?php
|
||||
|
||||
global $_MODULE;
|
||||
$_MODULE = array();
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>pdproductattributeslist_2eccf10a3643e0db7f111705609f7ab6'] = 'Lista kombinacji produktów na stronie produktu';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>pdproductattributeslist_c801edf1b84910db5a2042cf354b971e'] = 'Lista kombinacji produktów na stronie produktu w tab-ie lub w stopce produktu lub własnym zaczepieniu';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>pdproductattributeslist_0cc39f9a63392ad0ed1f9a14931938b6'] = 'Konfiguracja';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>pdproductattributeslist_43d5eb629ea9c3a6188fa8fbd41484b1'] = 'Wyświetla nagłówek bloku';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>pdproductattributeslist_d658f671afaa30c65d2678a4396e7ae0'] = 'Pozwala na ukrycie / pokazanie nagłówku bloku';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>pdproductattributeslist_93cba07454f06a4a960172bbd6e2a435'] = 'Tak';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>pdproductattributeslist_bafd7322c6e97d25b6299b5d6fe8920b'] = 'Nie';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>pdproductattributeslist_0e1665f5f9e5978cd6bd8e9d6f5166d7'] = 'Układ listy kombinacji';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>pdproductattributeslist_b32a74568240db4f2b2829b023076262'] = 'Układ wyświetlania listy kombinacji';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>pdproductattributeslist_51c45b795d5d18a3e4e0c37e8b20a141'] = 'Tabela';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>pdproductattributeslist_5174d1309f275ba6f275db3af9eb3e18'] = 'Siatka';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>pdproductattributeslist_33e3fc207368e302cf4e11c74f9eff2b'] = 'Pozycja bloku';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>pdproductattributeslist_40e9261a029b34c7bffb50b059739c80'] = 'Pozwala na wybranie pozycji / zaczepienia dla tabeli atrybutów';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>pdproductattributeslist_7aa6f8d4a5f7d0594ec377aff6814bde'] = 'Własna pozycja (displayCustomAttributesListTable)';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>pdproductattributeslist_0f527c701a8caf14340f875eeaaab008'] = 'Zakładka produktu';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>pdproductattributeslist_dac63d85b16cd61aabf6019497f4eb7f'] = 'Stopka produktu';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>pdproductattributeslist_d4dccb8ca2dac4e53c01bd9954755332'] = 'Zapisz ustawienia';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>pdproductattributeslist_4f14581ed633ed8667521b12404352bc'] = 'Instruckcje dodania hoka do list produktów w (np. w widoku listy a nie siatki)';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>pdproductattributeslist_9d515c34e23f29db032f6a49f3af0314'] = 'Prosimy otworzyć plik tpl szablonu';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>pdproductattributeslist_ebda28ff7068afb82969740d6b6719a5'] = 'do edycji w miejscu w których chcemy wyświetlić tabele kombinacji atrybutów dodać poniższa linię kodu:';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>pdproductattributeslist_c888438d14855d7d96a2724ee9c306bd'] = 'Zapisano ustawienia';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>pdproductattributeslist_1e54bff63483b64a42bddfbddb457992'] = 'został dodany!';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>pdproductattributeslist_902b0d55fddef6f8d651fe1035b7d4bd'] = 'Błąd dodawania';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>pdproductattributeslist_505a83f220c02df2f85c3810cd9ceb38'] = 'Poprawne dodanie';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>pdproductattributeslist_dc6c32f4320d95f02c77e4fc7b7ea6e5'] = 'szt.';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>pdproductattributeslist_ed96f783e467cc984e4945063760e2c4'] = 'Produkt';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>pdproductattributeslist_346d0eb68963ba33595489c7293b6541'] = 'w wariancie:';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>pdproductattributeslist_f80e6243f8f08cf482ed0bb6c98d1366'] = 'maksymalna ilość dostępna:';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>pdproductattributeslist_713cc13df92272edf0a484f1259698e3'] = 'Nie wybrano żadnej ilości produktów!';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>pdproductattributeslist_0c5de1f9de238ec26b6a26a2ba3488a6'] = 'Inne warianty produktu';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>pdproductattributeslist_cfab1ba8c67c7c838db98d666f02a132'] = '--';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>ajax_52416f6d393744fcb0f4f89ae0984077'] = 'Brak wariantu';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>hookdisplayproducttabcontent_0c5de1f9de238ec26b6a26a2ba3488a6'] = 'Inne warianty produktu';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>hookdisplayproducttabcontent_be53a0541a6d36f6ecb879fa2c584b08'] = 'Zdjęcie';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>hookdisplayproducttabcontent_492f18b60811bf85ce118c0c6a1a5c4a'] = 'Wariant';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>hookdisplayproducttabcontent_9060c986ab8a0f0e6662e6f79ac2d0f9'] = 'Informacje o produkcie';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>hookdisplayproducttabcontent_77eb276f5dcdf4fbca854e908216f7b2'] = 'Cena (brutto)';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>hookdisplayproducttabcontent_e192956d901dff59c35fd2c477ed28d6'] = 'Cena (netto)';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>hookdisplayproducttabcontent_dba03ee64be6e500032c6aa0e6621666'] = 'Dostępnych';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>hookdisplayproducttabcontent_bef7a703b57f594877ee057052345617'] = 'Wybierz ilość';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>hookdisplayproducttabcontent_11554327412be059a74c4868e210cca9'] = 'Wariant';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>hookdisplayproducttabcontent_c4c95c36570d5a8834be5e88e2f0f6b2'] = 'Informacje';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>hookdisplayproducttabcontent_63d5049791d9d79d86e9a108b0a999ca'] = 'Index';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>hookdisplayproducttabcontent_462c4392551aed97c4d512e0351aa9b1'] = 'EAN';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>hookdisplayproducttabcontent_f0a8011e2482cf9351b7bf565c7950ad'] = 'Cena (brutto)';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>hookdisplayproducttabcontent_4da86e0470f0b14e4e516442202a8d26'] = 'Cena (netto)';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>hookdisplayproducttabcontent_c6281feb3603f7295b43a7c7c871cb9d'] = 'Dostępnych';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>hookdisplayproducttabcontent_3ecf2642759a04bd3616642bd56bed59'] = 'szt.';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>hookdisplayproducttabcontent_8ee84ed07edaed371d95b76ea08d08a0'] = 'Dodaj wybrane do koszyka';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>hookdisplaycustomattributeslisttable_0c5de1f9de238ec26b6a26a2ba3488a6'] = 'Wybierz wariant produktu';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>hookdisplaycustomattributeslisttable_be53a0541a6d36f6ecb879fa2c584b08'] = 'Zdjęcie';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>hookdisplaycustomattributeslisttable_492f18b60811bf85ce118c0c6a1a5c4a'] = 'Wariant';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>hookdisplaycustomattributeslisttable_9060c986ab8a0f0e6662e6f79ac2d0f9'] = 'informacje';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>hookdisplaycustomattributeslisttable_77eb276f5dcdf4fbca854e908216f7b2'] = 'Cena (brutto)';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>hookdisplaycustomattributeslisttable_e192956d901dff59c35fd2c477ed28d6'] = 'Cena (netto)';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>hookdisplaycustomattributeslisttable_dba03ee64be6e500032c6aa0e6621666'] = 'Dostępnych';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>hookdisplaycustomattributeslisttable_bef7a703b57f594877ee057052345617'] = 'Wybierz ilość';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>hookdisplaycustomattributeslisttable_11554327412be059a74c4868e210cca9'] = 'Wariant';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>hookdisplaycustomattributeslisttable_c4c95c36570d5a8834be5e88e2f0f6b2'] = 'Informacje';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>hookdisplaycustomattributeslisttable_63d5049791d9d79d86e9a108b0a999ca'] = 'Index';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>hookdisplaycustomattributeslisttable_462c4392551aed97c4d512e0351aa9b1'] = 'Ean';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>hookdisplaycustomattributeslisttable_f0a8011e2482cf9351b7bf565c7950ad'] = 'Cena (brutto)';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>hookdisplaycustomattributeslisttable_4da86e0470f0b14e4e516442202a8d26'] = 'Cena (netto)';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>hookdisplaycustomattributeslisttable_c6281feb3603f7295b43a7c7c871cb9d'] = 'Dostępnych';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>hookdisplaycustomattributeslisttable_3ecf2642759a04bd3616642bd56bed59'] = 'szt.';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>hookdisplaycustomattributeslisttable_8ee84ed07edaed371d95b76ea08d08a0'] = 'Dodaj wybrane do koszyka';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>hookdisplayproducttabcontentgrid_0c5de1f9de238ec26b6a26a2ba3488a6'] = 'Inny wariant';
|
||||
$_MODULE['<{pdproductattributeslist}prestashop>hookdisplayproducttabcontentgrid_2d0f6b8300be19cf35e89e66f0677f95'] = 'Do koszyka';
|
||||
1
modules/pdproductattributeslist/views/css/dragtable.mod.min.css
vendored
Normal file
@@ -0,0 +1 @@
|
||||
.dragtable-sortable{list-style-type:none;margin:0;padding:0;-moz-user-select:none;z-index:10}.dragtable-sortable li{margin:0;padding:0;float:left;font-size:1em}.dragtable-sortable table{margin-top:0}.dragtable-sortable td,.dragtable-sortable th{border-left:0}.dragtable-sortable li:first-child td,.dragtable-sortable li:first-child th{border-left:1px solid #ccc}.ui-sortable-helper{opacity:.7}.ui-sortable-placeholder{-moz-box-shadow:4px 5px 4px rgba(0,0,0,.2) inset;-webkit-box-shadow:4px 5px 4px rgba(0,0,0,.2) inset;box-shadow:4px 5px 4px rgba(0,0,0,.2) inset;border-bottom:1px solid rgba(0,0,0,.2);border-top:1px solid rgba(0,0,0,.2);visibility:visible!important;background:#efefef}.ui-sortable-placeholder *{opacity:0;visibility:hidden}.table-handle,.table-handle-disabled{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyIiBoZWlnaHQ9IjEzIj48cmVjdCBzdHlsZT0iZmlsbDojMzMzO2ZpbGwtb3BhY2l0eTouODsiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHg9IjEiIHk9IjIiLz4JPHJlY3Qgc3R5bGU9ImZpbGw6IzMzMztmaWxsLW9wYWNpdHk6Ljg7IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4PSIxIiB5PSI0Ii8+CTxyZWN0IHN0eWxlPSJmaWxsOiMzMzM7ZmlsbC1vcGFjaXR5Oi44OyIgd2lkdGg9IjEiIGhlaWdodD0iMSIgeD0iMSIgeT0iNiIvPjxyZWN0IHN0eWxlPSJmaWxsOiMzMzM7ZmlsbC1vcGFjaXR5Oi44OyIgd2lkdGg9IjEiIGhlaWdodD0iMSIgeD0iMSIgeT0iOCIvPjxyZWN0IHN0eWxlPSJmaWxsOiMzMzM7ZmlsbC1vcGFjaXR5Oi44OyIgd2lkdGg9IjEiIGhlaWdodD0iMSIgeD0iMSIgeT0iMTAiLz48L3N2Zz4=);background-repeat:repeat-x;height:13px;margin:0 1px;cursor:move}.table-handle-disabled{opacity:0;cursor:not-allowed}.dragtable-sortable table{margin-bottom:0}
|
||||
1
modules/pdproductattributeslist/views/css/filter.formatter.min.css
vendored
Normal file
@@ -0,0 +1 @@
|
||||
.tablesorter .tablesorter-filter-row td{text-align:center;font-size:.9em;font-weight:400}.tablesorter .ui-slider,.tablesorter input.range{width:90%;margin:2px auto 2px auto;font-size:.8em}.tablesorter .ui-slider{top:12px}.tablesorter .ui-slider .ui-slider-handle{width:.9em;height:.9em}.tablesorter .ui-datepicker{font-size:.8em}.tablesorter .ui-slider-horizontal{height:.5em}.tablesorter .value-popup:after{content:attr(data-value);position:absolute;bottom:14px;left:-7px;min-width:18px;height:12px;background-color:#444;background-image:-webkit-gradient(linear,left top,left bottom,from(#444),to(#999));background-image:-webkit-linear-gradient(top,#444,#999);background-image:-moz-linear-gradient(top,#444,#999);background-image:-o-linear-gradient(top,#444,#999);background-image:linear-gradient(to bottom,#444,#999);-webkit-border-radius:3px;border-radius:3px;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-box-shadow:0 0 4px 0 #777;box-shadow:0 0 4px 0 #777;border:#444 1px solid;color:#fff;font:1em/1.1em Arial,Sans-Serif;padding:1px;text-align:center}.tablesorter .value-popup:before{content:"";position:absolute;width:0;height:0;border-top:8px solid #777;border-left:8px solid transparent;border-right:8px solid transparent;top:-8px;left:50%;margin-left:-8px;margin-top:-1px}.tablesorter .dateFrom,.tablesorter .dateTo{width:80px;margin:2px 5px}.tablesorter .button{width:14px;height:14px;background:#fcfff4;background:-webkit-linear-gradient(top,#fcfff4 0,#dfe5d7 40%,#b3bead 100%);background:-moz-linear-gradient(top,#fcfff4 0,#dfe5d7 40%,#b3bead 100%);background:-o-linear-gradient(top,#fcfff4 0,#dfe5d7 40%,#b3bead 100%);background:-ms-linear-gradient(top,#fcfff4 0,#dfe5d7 40%,#b3bead 100%);background:linear-gradient(top,#fcfff4 0,#dfe5d7 40%,#b3bead 100%);margin:1px 5px 1px 1px;-webkit-border-radius:25px;-moz-border-radius:25px;border-radius:25px;-webkit-box-shadow:inset 0 1px 1px #fff,0 1px 3px rgba(0,0,0,.5);-moz-box-shadow:inset 0 1px 1px #fff,0 1px 3px rgba(0,0,0,.5);box-shadow:inset 0 1px 1px #fff,0 1px 3px rgba(0,0,0,.5);position:relative;top:3px;display:inline-block}.tablesorter .button label{cursor:pointer;position:absolute;width:10px;height:10px;-webkit-border-radius:25px;-moz-border-radius:25px;border-radius:25px;left:2px;top:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.5),0 1px 0 #fff;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.5),0 1px 0 #fff;box-shadow:inset 0 1px 1px rgba(0,0,0,.5),0 1px 0 #fff;background:#45484d;background:-webkit-linear-gradient(top,#222 0,#45484d 100%);background:-moz-linear-gradient(top,#222 0,#45484d 100%);background:-o-linear-gradient(top,#222 0,#45484d 100%);background:-ms-linear-gradient(top,#222 0,#45484d 100%);background:linear-gradient(top,#222 0,#45484d 100%)}.tablesorter .button label:after{opacity:0;content:'';position:absolute;width:8px;height:8px;background:#55f;background:-webkit-linear-gradient(top,#aaf 0,#55f 100%);background:-moz-linear-gradient(top,#aaf 0,#55f 100%);background:-o-linear-gradient(top,#aaf 0,#55f 100%);background:-ms-linear-gradient(top,#aaf 0,#55f 100%);background:linear-gradient(top,#aaf 0,#55f 100%);-webkit-border-radius:25px;-moz-border-radius:25px;border-radius:25px;top:1px;left:1px;-webkit-box-shadow:inset 0 1px 1px #fff,0 1px 3px rgba(0,0,0,.5);-moz-box-shadow:inset 0 1px 1px #fff,0 1px 3px rgba(0,0,0,.5);box-shadow:inset 0 1px 1px #fff,0 1px 3px rgba(0,0,0,.5)}.tablesorter .button label:hover::after{opacity:.3}.tablesorter .button input[type=checkbox]{visibility:hidden}.tablesorter .button input[type=checkbox]:checked+label:after{opacity:1}.tablesorter .colorpicker{width:30px;height:18px}.tablesorter .ui-spinner-input{width:100px;height:18px}.tablesorter .currentColor,.tablesorter .ui-spinner{position:relative}.tablesorter input.number{position:relative}.tablesorter .tablesorter-filter-row.hideme td *{height:1px;min-height:0;border:0;padding:0;margin:0;opacity:0}
|
||||
1
modules/pdproductattributeslist/views/css/highlights.min.css
vendored
Normal file
@@ -0,0 +1 @@
|
||||
table.focus-highlight td:before,table.hover-highlight td:before{background:#fff}.focus-highlight .odd td:before,.focus-highlight .odd th:before,.hover-highlight .odd td:before,.hover-highlight .odd th:before{background:#ebf2fa}.focus-highlight .even td:before,.focus-highlight .even th:before,.hover-highlight .even td:before,.hover-highlight .even th:before{background-color:#fff}.focus-highlight td:focus::before,.focus-highlight th:focus::before{background-color:#add8e6}.focus-highlight td:focus::after,.focus-highlight th:focus::after{background-color:#add8e6}.focus-highlight .even td:focus,.focus-highlight .even th:focus,.focus-highlight .odd td:focus,.focus-highlight .odd th:focus,.focus-highlight td:focus,.focus-highlight th:focus{background-color:#d9d9d9;color:#333}table.hover-highlight tbody>tr.even:hover>td,table.hover-highlight tbody>tr.odd:hover>td,table.hover-highlight tbody>tr:hover>td{background-color:#ffa}.hover-highlight tbody tr td:hover::after,.hover-highlight tbody tr th:hover::after{background-color:#ffa}.focus-highlight td:focus::after,.focus-highlight th:focus::after,.hover-highlight td:hover::after,.hover-highlight th:hover::after{content:'';position:absolute;width:100%;height:999em;left:0;top:-555em;z-index:-1}.focus-highlight td:focus::before,.focus-highlight th:focus::before{content:'';position:absolute;width:999em;height:100%;left:-555em;top:0;z-index:-2}.focus-highlight,.hover-highlight{overflow:hidden}.focus-highlight td,.focus-highlight th,.hover-highlight td,.hover-highlight th{position:relative;outline:0}table.focus-highlight,table.focus-highlight tbody tr.even>td,table.focus-highlight tbody tr.even>th,table.focus-highlight tbody tr.odd>td,table.focus-highlight tbody tr.odd>th,table.focus-highlight tbody>tr>td,table.hover-highlight,table.hover-highlight tbody tr.even>td,table.hover-highlight tbody tr.even>th,table.hover-highlight tbody tr.odd>td,table.hover-highlight tbody tr.odd>th,table.hover-highlight tbody>tr>td{background:0 0}table.focus-highlight td:before,table.hover-highlight td:before{content:'';position:absolute;width:100%;height:100%;left:0;top:0;z-index:-3}
|
||||
BIN
modules/pdproductattributeslist/views/css/images/black-asc.gif
Normal file
|
After Width: | Height: | Size: 48 B |
BIN
modules/pdproductattributeslist/views/css/images/black-desc.gif
Normal file
|
After Width: | Height: | Size: 49 B |
|
After Width: | Height: | Size: 54 B |
|
After Width: | Height: | Size: 276 B |
|
After Width: | Height: | Size: 180 B |
|
After Width: | Height: | Size: 75 B |
@@ -0,0 +1,7 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="2" height="13">
|
||||
<rect style="fill:#333;fill-opacity:.8;" width="1" height="1" x="1" y="2"/>
|
||||
<rect style="fill:#333;fill-opacity:.8;" width="1" height="1" x="1" y="4"/>
|
||||
<rect style="fill:#333;fill-opacity:.8;" width="1" height="1" x="1" y="6"/>
|
||||
<rect style="fill:#333;fill-opacity:.8;" width="1" height="1" x="1" y="8"/>
|
||||
<rect style="fill:#333;fill-opacity:.8;" width="1" height="1" x="1" y="10"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 455 B |
|
After Width: | Height: | Size: 200 B |
BIN
modules/pdproductattributeslist/views/css/images/dropbox-asc.png
Normal file
|
After Width: | Height: | Size: 204 B |
|
After Width: | Height: | Size: 195 B |
|
After Width: | Height: | Size: 206 B |
BIN
modules/pdproductattributeslist/views/css/images/first.png
Normal file
|
After Width: | Height: | Size: 642 B |
BIN
modules/pdproductattributeslist/views/css/images/green-asc.gif
Normal file
|
After Width: | Height: | Size: 283 B |
BIN
modules/pdproductattributeslist/views/css/images/green-desc.gif
Normal file
|
After Width: | Height: | Size: 283 B |
|
After Width: | Height: | Size: 513 B |
|
After Width: | Height: | Size: 520 B |
BIN
modules/pdproductattributeslist/views/css/images/ice-asc.gif
Normal file
|
After Width: | Height: | Size: 285 B |
BIN
modules/pdproductattributeslist/views/css/images/ice-desc.gif
Normal file
|
After Width: | Height: | Size: 285 B |
|
After Width: | Height: | Size: 180 B |
BIN
modules/pdproductattributeslist/views/css/images/last.png
Normal file
|
After Width: | Height: | Size: 661 B |
BIN
modules/pdproductattributeslist/views/css/images/loading.gif
Normal file
|
After Width: | Height: | Size: 416 B |
|
After Width: | Height: | Size: 158 B |
|
After Width: | Height: | Size: 171 B |
|
After Width: | Height: | Size: 673 B |
|
After Width: | Height: | Size: 151 B |
|
After Width: | Height: | Size: 165 B |
|
After Width: | Height: | Size: 178 B |
BIN
modules/pdproductattributeslist/views/css/images/next.png
Normal file
|
After Width: | Height: | Size: 658 B |
BIN
modules/pdproductattributeslist/views/css/images/prev.png
Normal file
|
After Width: | Height: | Size: 663 B |
BIN
modules/pdproductattributeslist/views/css/images/white-asc.gif
Normal file
|
After Width: | Height: | Size: 48 B |
BIN
modules/pdproductattributeslist/views/css/images/white-desc.gif
Normal file
|
After Width: | Height: | Size: 49 B |
|
After Width: | Height: | Size: 54 B |
35
modules/pdproductattributeslist/views/css/index.php
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2013 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Academic Free License (AFL 3.0)
|
||||
* that is bundled with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://opensource.org/licenses/afl-3.0.php
|
||||
* 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.
|
||||
*
|
||||
* DISCLAIMER
|
||||
*
|
||||
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
|
||||
* versions in the future. If you wish to customize PrestaShop for your
|
||||
* needs please refer to http://www.prestashop.com for more information.
|
||||
*
|
||||
* @author PrestaShop SA <contact@prestashop.com>
|
||||
* @copyright 2007-2013 PrestaShop SA
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*/
|
||||
|
||||
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;
|
||||
1
modules/pdproductattributeslist/views/css/jquery.tablesorter.pager.min.css
vendored
Normal file
@@ -0,0 +1 @@
|
||||
.tablesorter-pager{padding:5px}td.tablesorter-pager{background-color:#e6eeee;margin:0}.tablesorter-pager img{vertical-align:middle;margin-right:2px;cursor:pointer}.tablesorter-pager .pagedisplay{padding:0 5px 0 5px;width:auto;white-space:nowrap;text-align:center}.tablesorter-pager select{margin:0;padding:0}.tablesorter-pager.disabled{display:none}.tablesorter-pager .disabled{opacity:.5;cursor:default}
|
||||
328
modules/pdproductattributeslist/views/css/less/bootstrap.less
vendored
Normal file
@@ -0,0 +1,328 @@
|
||||
/* Tablesorter Custom Bootstrap v3 LESS Theme by Rob Garrison
|
||||
|
||||
To create your own theme, modify the code below and run it through
|
||||
a LESS compiler, like this one: http://leafo.net/lessphp/editor.html
|
||||
or download less.js from http://lesscss.org/
|
||||
|
||||
Test out these customization files live
|
||||
Basic LESS Theme : http://codepen.io/Mottie/pen/eqBbn
|
||||
Bootstrap LESS : http://codepen.io/Mottie/pen/Ltzpi
|
||||
Metro LESS Style : http://codepen.io/Mottie/pen/gCslk
|
||||
Basic SCSS : http://codepen.io/Mottie/pen/LbXdNR
|
||||
|
||||
*/
|
||||
|
||||
/*** theme ***/
|
||||
@theme : tablesorter-bootstrap;
|
||||
|
||||
/*** fonts ***/
|
||||
@tableHeaderFont : 14px bold Arial, Sans-serif;
|
||||
@tableBodyFont : 14px "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
|
||||
/*** color definitions ***/
|
||||
/* for best results, only change the hue (240),
|
||||
leave the saturation (60%) and luminosity (80%) alone
|
||||
pick the color from here: http://hslpicker.com/#99E699 */
|
||||
@headerBackground : hsl(240, 60%, 80%);
|
||||
@borderAndBackground : #cdcdcd;
|
||||
@overallBorder : @borderAndBackground 1px solid;
|
||||
@headerTextColor : #000;
|
||||
|
||||
@bodyBackground : #fff;
|
||||
@bodyTextColor : #000;
|
||||
|
||||
@headerAsc : darken(spin(@headerBackground, 5), 10%); /* darken(@headerBackground, 10%); */
|
||||
@headerDesc : lighten(spin(@headerBackground, -5), 10%); /* desaturate(@headerAsc, 5%); */
|
||||
|
||||
@captionBackground : #fff; /* it might be best to match the document body background color here */
|
||||
@errorBackground : #e6bf99; /* ajax error message (added to thead) */
|
||||
|
||||
@filterCellBackground : #eee;
|
||||
@filterElementTextColor: #333;
|
||||
@filterElementBkgd : #fff;
|
||||
@filterElementBorder : 1px solid #bbb;
|
||||
@filterTransitionTime : 0.1s;
|
||||
@filterRowHiddenHeight : 4px; /* becomes height using padding (so it's divided by 2) */
|
||||
|
||||
@overallPadding : 4px;
|
||||
/* 20px should be slightly wider than the icon width to avoid overlap */
|
||||
@headerPadding : 4px 20px 4px 4px;
|
||||
@headerMargin : 0 0 18px;
|
||||
|
||||
/* url(icons/loading.gif); */
|
||||
@processingIcon : url('data:image/gif;base64,R0lGODlhFAAUAKEAAO7u7lpaWgAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQBCgACACwAAAAAFAAUAAACQZRvoIDtu1wLQUAlqKTVxqwhXIiBnDg6Y4eyx4lKW5XK7wrLeK3vbq8J2W4T4e1nMhpWrZCTt3xKZ8kgsggdJmUFACH5BAEKAAIALAcAAAALAAcAAAIUVB6ii7jajgCAuUmtovxtXnmdUAAAIfkEAQoAAgAsDQACAAcACwAAAhRUIpmHy/3gUVQAQO9NetuugCFWAAAh+QQBCgACACwNAAcABwALAAACE5QVcZjKbVo6ck2AF95m5/6BSwEAIfkEAQoAAgAsBwANAAsABwAAAhOUH3kr6QaAcSrGWe1VQl+mMUIBACH5BAEKAAIALAIADQALAAcAAAIUlICmh7ncTAgqijkruDiv7n2YUAAAIfkEAQoAAgAsAAAHAAcACwAAAhQUIGmHyedehIoqFXLKfPOAaZdWAAAh+QQFCgACACwAAAIABwALAAACFJQFcJiXb15zLYRl7cla8OtlGGgUADs=');
|
||||
|
||||
/* zebra striping */
|
||||
.allRows {
|
||||
background-color: @bodyBackground;
|
||||
color: @bodyTextColor;
|
||||
}
|
||||
.evenRows {
|
||||
background-color: lighten(@headerBackground, 35%);
|
||||
}
|
||||
.oddRows {
|
||||
background-color: lighten(@headerBackground, 18%);
|
||||
}
|
||||
|
||||
/* hovered rows */
|
||||
.oddHovered {
|
||||
background-color: desaturate(@headerBackground, 60%);
|
||||
}
|
||||
.evenHovered {
|
||||
background-color: lighten( desaturate(@headerBackground, 60%), 10% );
|
||||
}
|
||||
|
||||
/* Columns widget */
|
||||
@primaryOdd : spin(@headerBackground, 10); /* saturate( darken( desaturate(@headerBackground, 10%), 10% ), 30%); */
|
||||
@primaryEven : lighten( @primaryOdd, 10% );
|
||||
@secondaryOdd : @primaryEven;
|
||||
@secondaryEven : lighten( @primaryEven, 5% );
|
||||
@tertiaryOdd : @secondaryEven;
|
||||
@tertiaryEven : lighten( @secondaryEven, 5% );
|
||||
|
||||
/* Filter widget transition */
|
||||
.filterWidgetTransition {
|
||||
-webkit-transition: line-height @filterTransitionTime ease;
|
||||
-moz-transition: line-height @filterTransitionTime ease;
|
||||
-o-transition: line-height @filterTransitionTime ease;
|
||||
transition: line-height @filterTransitionTime ease;
|
||||
}
|
||||
|
||||
/*** icon block ***/
|
||||
.iconPosition {
|
||||
font-size: 11px;
|
||||
position: absolute;
|
||||
right: 2px;
|
||||
top: 50%;
|
||||
margin-top: -7px; /* half the icon height; older IE doesn't like this */
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
background-repeat: no-repeat;
|
||||
line-height: 14px;
|
||||
}
|
||||
|
||||
/* black */
|
||||
@unsortedBlack : url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAOCAYAAAD5YeaVAAAA20lEQVR4AWJABpKSkoxALCstLb0aUAsZaCAMhVEY6B0amx8YZWDDEDSBa2AGe7XeIiAAClYwVGBvsAcIllsf/mvcC9DgOOd8h90fxWvngVEUbZIkuWRZZlE8eQjcisgZMM9zi+LJ6ZfwegmWZflZDugdHMfxTcGqql7TNBlUB/QObtv2VBSFrev6OY7jngzFk9OT/fn73fWYpqnlXNyXDMWT0zuYx/Bvel9ej+LJ6R08DMOu67q7DkTkrSA5vYPneV71fX/QASdTkJwezhs0TfMARn0wMDDGXEPgF4oijqwM5YjNAAAAAElFTkSuQmCC);
|
||||
|
||||
/* white */
|
||||
@unsortedWhite : url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAOCAYAAAD5YeaVAAAAe0lEQVR4AbXQoRWDMBiF0Sh2QLAAQ8SxJGugWSA6A2STW1PxTsnB9cnkfuYvv8OGC1t5G3Y0QMP+Bm857keAdQIzWBP3+Bw4MADQE18B6/etRnCV/w9nnGuLezfAmXhABGtAGIkruvk6auIFRwQJDywllsEAjCecB20GP59BQQ+gtlRLAAAAAElFTkSuQmCC);
|
||||
|
||||
/* automatically choose the correct arrow/text color */
|
||||
.headerText (@a) when (lightness(@a) >= 50%) {
|
||||
color: @headerTextColor;
|
||||
}
|
||||
.headerText (@a) when (lightness(@a) < 50%) {
|
||||
color: lighten(@headerTextColor, 90%);
|
||||
}
|
||||
.unsorted (@a) when (lightness(@a) >= 50%) {
|
||||
background-image: @unsortedBlack;
|
||||
color: @headerTextColor;
|
||||
}
|
||||
.unsorted (@a) when (lightness(@a) < 50%) {
|
||||
background-image: @unsortedWhite;
|
||||
color: lighten(@headerTextColor, 90%);
|
||||
}
|
||||
|
||||
/* variable theme name - requires less.js 1.3+;
|
||||
or just replace (!".@{theme}") with the contents of @theme
|
||||
*/
|
||||
.@{theme} {
|
||||
font: @tableBodyFont;
|
||||
background-color: @borderAndBackground;
|
||||
width: 100%;
|
||||
|
||||
/* style th's outside of the thead */
|
||||
th, thead td {
|
||||
font: @tableHeaderFont;
|
||||
font-weight: bold;
|
||||
background-color: @headerBackground;
|
||||
.headerText(@headerBackground);
|
||||
border-collapse: collapse;
|
||||
margin: @headerMargin;
|
||||
padding: @overallPadding;
|
||||
}
|
||||
|
||||
tbody td, tfoot th, tfoot td {
|
||||
padding: @overallPadding;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
/* style header */
|
||||
.tablesorter-header {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.tablesorter-header-inner {
|
||||
position: relative;
|
||||
padding: @headerPadding;
|
||||
}
|
||||
|
||||
/* bootstrap uses <i> for icons */
|
||||
.tablesorter-header-inner i.tablesorter-icon {
|
||||
.iconPosition
|
||||
}
|
||||
|
||||
.tablesorter-header.sorter-false {
|
||||
cursor: default;
|
||||
|
||||
i.tablesorter-icon {
|
||||
display: none;
|
||||
}
|
||||
.tablesorter-header-inner {
|
||||
padding: @overallPadding;
|
||||
}
|
||||
}
|
||||
|
||||
.tablesorter-headerAsc {
|
||||
background-color: @headerAsc;
|
||||
}
|
||||
|
||||
.tablesorter-headerDesc {
|
||||
background-color: @headerDesc;
|
||||
}
|
||||
|
||||
.bootstrap-icon-unsorted {
|
||||
.unsorted(@headerBackground);
|
||||
}
|
||||
|
||||
|
||||
/* tfoot */
|
||||
tfoot .tablesorter-headerAsc,
|
||||
tfoot .tablesorter-headerDesc {
|
||||
/* remove sort arrows from footer */
|
||||
background-image: none;
|
||||
}
|
||||
|
||||
/* optional disabled input styling */
|
||||
.disabled {
|
||||
opacity: 0.5;
|
||||
filter: alpha(opacity=50);
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
||||
/* body */
|
||||
tbody {
|
||||
|
||||
td {
|
||||
.allRows;
|
||||
padding: @overallPadding;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
/* Zebra Widget - row alternating colors */
|
||||
tr.odd > td {
|
||||
.oddRows;
|
||||
}
|
||||
tr.even > td {
|
||||
.evenRows;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/* hovered row colors
|
||||
you'll need to add additional lines for
|
||||
rows with more than 2 child rows
|
||||
*/
|
||||
tbody > tr.hover > td,
|
||||
tbody > tr:hover > td,
|
||||
tbody > tr:hover + tr.tablesorter-childRow > td,
|
||||
tbody > tr:hover + tr.tablesorter-childRow + tr.tablesorter-childRow > td,
|
||||
tbody > tr.even.hover > td,
|
||||
tbody > tr.even:hover > td,
|
||||
tbody > tr.even:hover + tr.tablesorter-childRow > td,
|
||||
tbody > tr.even:hover + tr.tablesorter-childRow + tr.tablesorter-childRow > td {
|
||||
.evenHovered;
|
||||
}
|
||||
tbody > tr.odd.hover > td,
|
||||
tbody > tr.odd:hover > td,
|
||||
tbody > tr.odd:hover + tr.tablesorter-childRow > td,
|
||||
tbody > tr.odd:hover + tr.tablesorter-childRow + tr.tablesorter-childRow > td {
|
||||
.oddHovered;
|
||||
}
|
||||
|
||||
/* table processing indicator - indeterminate spinner */
|
||||
.tablesorter-processing {
|
||||
background-image: @processingIcon;
|
||||
background-position: center center;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
/* Column Widget - column sort colors */
|
||||
tr.odd td.primary {
|
||||
background-color: @primaryOdd;
|
||||
}
|
||||
td.primary, tr.even td.primary {
|
||||
background-color: @primaryEven;
|
||||
}
|
||||
tr.odd td.secondary {
|
||||
background-color: @secondaryOdd;
|
||||
}
|
||||
td.secondary, tr.even td.secondary {
|
||||
background-color: @secondaryEven;
|
||||
}
|
||||
tr.odd td.tertiary {
|
||||
background-color: @tertiaryOdd;
|
||||
}
|
||||
td.tertiary, tr.even td.tertiary {
|
||||
background-color: @tertiaryEven;
|
||||
}
|
||||
|
||||
/* caption (non-theme matching) */
|
||||
caption {
|
||||
background-color: @captionBackground ;
|
||||
}
|
||||
|
||||
/* filter widget */
|
||||
.tablesorter-filter-row input,
|
||||
.tablesorter-filter-row select{
|
||||
width: 98%;
|
||||
margin: 0;
|
||||
padding: @overallPadding;
|
||||
color: @filterElementTextColor;
|
||||
background-color: @filterElementBkgd;
|
||||
border: @filterElementBorder;
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
.filterWidgetTransition;
|
||||
}
|
||||
.tablesorter-filter-row {
|
||||
background-color: @filterCellBackground;
|
||||
}
|
||||
.tablesorter-filter-row td {
|
||||
text-align: center;
|
||||
background-color: @filterCellBackground;
|
||||
line-height: normal;
|
||||
text-align: center; /* center the input */
|
||||
.filterWidgetTransition;
|
||||
}
|
||||
/* hidden filter row */
|
||||
.tablesorter-filter-row.hideme td {
|
||||
padding: @filterRowHiddenHeight / 2;
|
||||
margin: 0;
|
||||
line-height: 0;
|
||||
cursor: pointer;
|
||||
}
|
||||
.tablesorter-filter-row.hideme * {
|
||||
height: 1px;
|
||||
min-height: 0;
|
||||
border: 0;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
/* don't use visibility: hidden because it disables tabbing */
|
||||
opacity: 0;
|
||||
filter: alpha(opacity=0);
|
||||
}
|
||||
/* rows hidden by filtering (needed for child rows) */
|
||||
.filtered {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* ajax error row */
|
||||
.tablesorter-errorRow td {
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
background-color: @errorBackground;
|
||||
}
|
||||
|
||||
}
|
||||
357
modules/pdproductattributeslist/views/css/less/metro.less
Normal file
@@ -0,0 +1,357 @@
|
||||
/* Tablesorter Custom Metro LESS Theme by Rob Garrison
|
||||
|
||||
To create your own theme, modify the code below and run it through
|
||||
a LESS compiler, like this one: http://leafo.net/lessphp/editor.html
|
||||
or download less.js from http://lesscss.org/
|
||||
|
||||
Test out these customization files live
|
||||
Basic LESS Theme : http://codepen.io/Mottie/pen/eqBbn
|
||||
Bootstrap LESS : http://codepen.io/Mottie/pen/Ltzpi
|
||||
Metro LESS Style : http://codepen.io/Mottie/pen/gCslk
|
||||
Basic SCSS : http://codepen.io/Mottie/pen/LbXdNR
|
||||
|
||||
*/
|
||||
|
||||
/*** theme ***/
|
||||
@theme : tablesorter-metro;
|
||||
|
||||
/*** fonts ***/
|
||||
@tableHeaderFont : 14px 'Segoe UI Semilight', 'Open Sans', Verdana, Arial, Helvetica, sans-serif;
|
||||
@tableBodyFont : 14px 'Segoe UI Semilight', 'Open Sans', Verdana, Arial, Helvetica, sans-serif;
|
||||
|
||||
/*** color definitions ***/
|
||||
/* for best results, only change the hue (120),
|
||||
leave the saturation (60%) and luminosity (75%) alone
|
||||
pick the color from here: http://hslpicker.com/#825a2b
|
||||
|
||||
Inspired by http://www.jtable.org/ metro themes:
|
||||
Blue: hsl(212, 86%, 35%)
|
||||
Brown hsl(32, 50%, 30%)
|
||||
Crimson hsl(0, 100%, 38%)
|
||||
Dark Grey hsl(0, 0%, 27%)
|
||||
Dark Orange hsl(13, 70%, 51%)
|
||||
Green hsl(120, 100%, 32%)
|
||||
Light Gray hsl(0, 0%, 44%)
|
||||
Pink hsl(297, 100%, 33%)
|
||||
Purple hsl(257, 51%, 48%)
|
||||
Red hsl(5, 100%, 40%)
|
||||
*/
|
||||
@headerBackground : hsl(32, 50%, 30%);
|
||||
@borderAndBackground : #cdcdcd;
|
||||
@headerTextColor : #eee;
|
||||
|
||||
@bodyBackground : #fff;
|
||||
@bodyTextColor : #000;
|
||||
|
||||
@captionBackground : #fff; /* it might be best to match the document body background color here */
|
||||
@errorBackground : #e6bf99; /* ajax error message (added to thead) */
|
||||
|
||||
@filterCellBackground : #eee;
|
||||
@filterElementTextColor: #333;
|
||||
@filterElementBkgd : #fff;
|
||||
@filterElementBorder : 1px solid #bbb;
|
||||
@filterTransitionTime : 0.1s;
|
||||
@filterRowHiddenHeight : 4px; /* becomes height using padding (so it's divided by 2) */
|
||||
|
||||
@overallPadding : 4px;
|
||||
/* 20px should be slightly wider than the icon width to avoid overlap */
|
||||
@headerPadding : 4px 20px 4px 4px;
|
||||
|
||||
/* url(icons/loading.gif); */
|
||||
@processingIcon : url('data:image/gif;base64,R0lGODlhEAAQAPIAAP///1VVVdbW1oCAgFVVVZaWlqurq7a2tiH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCgAAACwAAAAAEAAQAAADMwi63P4wyklrE2MIOggZnAdOmGYJRbExwroUmcG2LmDEwnHQLVsYOd2mBzkYDAdKa+dIAAAh+QQJCgAAACwAAAAAEAAQAAADNAi63P5OjCEgG4QMu7DmikRxQlFUYDEZIGBMRVsaqHwctXXf7WEYB4Ag1xjihkMZsiUkKhIAIfkECQoAAAAsAAAAABAAEAAAAzYIujIjK8pByJDMlFYvBoVjHA70GU7xSUJhmKtwHPAKzLO9HMaoKwJZ7Rf8AYPDDzKpZBqfvwQAIfkECQoAAAAsAAAAABAAEAAAAzMIumIlK8oyhpHsnFZfhYumCYUhDAQxRIdhHBGqRoKw0R8DYlJd8z0fMDgsGo/IpHI5TAAAIfkECQoAAAAsAAAAABAAEAAAAzIIunInK0rnZBTwGPNMgQwmdsNgXGJUlIWEuR5oWUIpz8pAEAMe6TwfwyYsGo/IpFKSAAAh+QQJCgAAACwAAAAAEAAQAAADMwi6IMKQORfjdOe82p4wGccc4CEuQradylesojEMBgsUc2G7sDX3lQGBMLAJibufbSlKAAAh+QQJCgAAACwAAAAAEAAQAAADMgi63P7wCRHZnFVdmgHu2nFwlWCI3WGc3TSWhUFGxTAUkGCbtgENBMJAEJsxgMLWzpEAACH5BAkKAAAALAAAAAAQABAAAAMyCLrc/jDKSatlQtScKdceCAjDII7HcQ4EMTCpyrCuUBjCYRgHVtqlAiB1YhiCnlsRkAAAOwAAAAAAAAAAAA==');
|
||||
|
||||
/* zebra striping */
|
||||
.allRows {
|
||||
background-color: @bodyBackground;
|
||||
color: @bodyTextColor;
|
||||
}
|
||||
.evenRows {
|
||||
background-color: lighten( desaturate(@headerBackground, 80%), 70%);
|
||||
color: @bodyTextColor;
|
||||
}
|
||||
.oddRows {
|
||||
background-color: lighten( desaturate(@headerBackground, 80%), 50%);
|
||||
}
|
||||
|
||||
/* hovered rows */
|
||||
.oddHovered {
|
||||
background-color: lighten( desaturate(@headerBackground, 50%), 40%);
|
||||
color: @bodyTextColor;
|
||||
}
|
||||
.evenHovered {
|
||||
background-color: lighten( desaturate(@headerBackground, 50%), 30%);
|
||||
color: @bodyTextColor;
|
||||
}
|
||||
|
||||
/* Columns widget */
|
||||
@primaryOdd : lighten( spin(@headerBackground, 10), 40%);
|
||||
@primaryEven : lighten( @primaryOdd, 8% );
|
||||
@secondaryOdd : @primaryEven;
|
||||
@secondaryEven : lighten( @primaryEven, 8% );
|
||||
@tertiaryOdd : @secondaryEven;
|
||||
@tertiaryEven : lighten( @secondaryEven, 8% );
|
||||
|
||||
/* Filter widget transition */
|
||||
.filterWidgetTransition {
|
||||
-webkit-transition: line-height @filterTransitionTime ease;
|
||||
-moz-transition: line-height @filterTransitionTime ease;
|
||||
-o-transition: line-height @filterTransitionTime ease;
|
||||
transition: line-height @filterTransitionTime ease;
|
||||
}
|
||||
|
||||
/*** Arrows ***/
|
||||
@arrowPosition : right 5px center;
|
||||
|
||||
/* black */
|
||||
@unsortedBlack : url(data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAQBAMAAADQT4M0AAAAIVBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABt0UjBAAAACnRSTlMAMwsqXt+gIBUGxGoDMAAAAFlJREFUCNctzC0SQAAUReEzGNQ3AlHRiSRZFCVZYgeswRL8hLdK7834wj3tAlGP6y7fYHpKS6w6WwbVG0I1NZVnZPG8/DYxOYlnhUYkA06R1s9ESsxR4NIdPhkPFDFYuEnMAAAAAElFTkSuQmCC);
|
||||
@sortAscBlack : url(data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAQBAMAAADQT4M0AAAAIVBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABt0UjBAAAACnRSTlMAMwsqXt+gIBUGxGoDMAAAAFlJREFUCNctzC0SQAAUReEzGNQ3AlHRiSRZFCVZYgeswRL8hLdK7834wj3tAlGP6y7fYHpKS6w6WwbVG0I1NZVnZPG8/DYxOYlnhUYkA06R1s9ESsxR4NIdPhkPFDFYuEnMAAAAAElFTkSuQmCC);
|
||||
@sortDescBlack : url(data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAQBAMAAADQT4M0AAAALVBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADBoCg+AAAADnRSTlMAMiweCQITTvDctZZqaTlM310AAABcSURBVAjXY2BgYEtgAAFHERDJqigUAKSYBQUNgFSioKAYAwOLIBA4MASBKFUGQxAlzAAF+94BwWuGKBC1lIFl3rt3Lx0YGCzevWsGSjK9e6cAUlT3HKyW9wADAwDRrBiDy6bKzwAAAABJRU5ErkJggg==);
|
||||
|
||||
/* white */
|
||||
@unsortedWhite : url(data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAQBAMAAADQT4M0AAAAElBMVEUAAADu7u7u7u7u7u7u7u7u7u7yb344AAAABnRSTlMAMhIHKyAHBrhHAAAATElEQVQI12NgYGBSYAABQ2Ew5SgCIlkFBQOAlKKgoBADA7MgEBgwsIAoB4ZAECXKAAFQHkg9WIejoCBIv4mgoDOQYgZpAxkDNARqEQBTkAYuMZEHPgAAAABJRU5ErkJggg==);
|
||||
@sortAscWhite : url(data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAQBAMAAADQT4M0AAAAHlBMVEUAAADu7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u4+jEeEAAAACXRSTlMAMwkqFV7roCD4hW+/AAAAWUlEQVQI1y3MrQ5AABSG4Xd+Rj0jiDabjKZxB6qqaarGNRh27tY5myd8b/uAeML1l2+wPqUlUd0ss+oNoZqG2rOwe15+p5iC1HNAK5IBlUjnZyIlZsxx0QAfzokSZgp96u4AAAAASUVORK5CYII=);
|
||||
@sortDescWhite : url(data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAQBAMAAADQT4M0AAAAJ1BMVEUAAADu7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u4RJgHSAAAADHRSTlMAMiweCQITaU7olrlu2HdvAAAAXElEQVQI12NgYGBLYAABRxEQyaooFACkmAUFDYBUoqCgGAMDiyAQODAEgShVBkMQJcwABWvOAMEphmgQtZWBZc6ZMycdGBhszpw5DJRkOnNGAaSo5wRYLXsBAwMAi4YWQHRX4F0AAAAASUVORK5CYII=);
|
||||
|
||||
/* automatically choose the correct arrow/text color */
|
||||
.headerText (@a) when (lightness(@a) >= 50%) {
|
||||
color: @headerTextColor;
|
||||
}
|
||||
.headerText (@a) when (lightness(@a) < 50%) {
|
||||
color: lighten(@headerTextColor, 90%);
|
||||
}
|
||||
.unsorted (@a) when (lightness(@a) >= 50%) {
|
||||
background-image: @unsortedBlack;
|
||||
}
|
||||
.unsorted (@a) when (lightness(@a) < 50%) {
|
||||
background-image: @unsortedWhite;
|
||||
}
|
||||
.sortAsc (@a) when (lightness(@a) >= 50%) {
|
||||
background-image: @sortAscBlack;
|
||||
}
|
||||
.sortAsc (@a) when (lightness(@a) < 50%) {
|
||||
background-image: @sortAscWhite;
|
||||
}
|
||||
.sortDesc (@a) when (lightness(@a) >= 50%) {
|
||||
background-image: @sortDescBlack;
|
||||
}
|
||||
.sortDesc (@a) when (lightness(@a) < 50%) {
|
||||
background-image: @sortDescWhite;
|
||||
}
|
||||
|
||||
/* variable theme name - requires less.js 1.3+;
|
||||
or just replace (!".@{theme}") with the contents of @theme
|
||||
*/
|
||||
.@{theme} {
|
||||
font: @tableBodyFont;
|
||||
background-color: @borderAndBackground;
|
||||
margin: 10px 0 15px;
|
||||
width: 100%;
|
||||
text-align: left;
|
||||
border-spacing: 0;
|
||||
border: 0;
|
||||
|
||||
th, td {
|
||||
border: 0;
|
||||
}
|
||||
|
||||
/* style th's outside of the thead */
|
||||
th, thead td {
|
||||
font: @tableHeaderFont;
|
||||
font-weight: bold;
|
||||
background-color: @headerBackground;
|
||||
color: @headerTextColor;
|
||||
.headerText(@headerBackground);
|
||||
border-collapse: collapse;
|
||||
padding: @overallPadding;
|
||||
}
|
||||
|
||||
.dark-row th, .dark-row td, caption.dark-row {
|
||||
background-color: darken( @headerBackground, 10% );
|
||||
}
|
||||
|
||||
tbody td, tfoot th, tfoot td {
|
||||
padding: @overallPadding;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
/* style header */
|
||||
.tablesorter-header {
|
||||
.unsorted(@headerBackground);
|
||||
background-repeat: no-repeat;
|
||||
background-position: @arrowPosition;
|
||||
cursor: pointer;
|
||||
white-space: normal;
|
||||
}
|
||||
|
||||
.tablesorter-header-inner {
|
||||
padding: @headerPadding;
|
||||
}
|
||||
|
||||
.tablesorter-header.sorter-false {
|
||||
background-image: none;
|
||||
cursor: default;
|
||||
padding: @overallPadding;
|
||||
}
|
||||
|
||||
.tablesorter-headerAsc {
|
||||
.sortAsc(@headerBackground);
|
||||
}
|
||||
|
||||
.tablesorter-headerDesc {
|
||||
.sortDesc(@headerBackground);
|
||||
}
|
||||
|
||||
/* tfoot */
|
||||
tfoot .tablesorter-headerAsc,
|
||||
tfoot .tablesorter-headerDesc {
|
||||
/* remove sort arrows from footer */
|
||||
background-image: none;
|
||||
}
|
||||
|
||||
/* optional disabled input styling */
|
||||
.disabled {
|
||||
opacity: 0.5;
|
||||
filter: alpha(opacity=50);
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
||||
/* body */
|
||||
tbody {
|
||||
|
||||
td {
|
||||
.allRows;
|
||||
padding: @overallPadding;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
/* Zebra Widget - row alternating colors */
|
||||
tr.odd > td {
|
||||
.oddRows;
|
||||
}
|
||||
tr.even > td {
|
||||
.evenRows;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/* hovered row colors
|
||||
you'll need to add additional lines for
|
||||
rows with more than 2 child rows
|
||||
*/
|
||||
tbody > tr.hover > td,
|
||||
tbody > tr:hover > td,
|
||||
tbody > tr:hover + tr.tablesorter-childRow > td,
|
||||
tbody > tr:hover + tr.tablesorter-childRow + tr.tablesorter-childRow > td,
|
||||
tbody > tr.even.hover > td,
|
||||
tbody > tr.even:hover > td,
|
||||
tbody > tr.even:hover + tr.tablesorter-childRow > td,
|
||||
tbody > tr.even:hover + tr.tablesorter-childRow + tr.tablesorter-childRow > td {
|
||||
.evenHovered;
|
||||
}
|
||||
tbody > tr.odd.hover > td,
|
||||
tbody > tr.odd:hover > td,
|
||||
tbody > tr.odd:hover + tr.tablesorter-childRow > td,
|
||||
tbody > tr.odd:hover + tr.tablesorter-childRow + tr.tablesorter-childRow > td {
|
||||
.oddHovered;
|
||||
}
|
||||
|
||||
/* table processing indicator - indeterminate spinner */
|
||||
.tablesorter-processing {
|
||||
background-image: @processingIcon;
|
||||
background-position: center center;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
/* pager */
|
||||
div.tablesorter-pager {
|
||||
button {
|
||||
background-color: lighten( @headerBackground, 7% );
|
||||
color: @headerTextColor;
|
||||
border: lighten( @headerBackground, 15% ) 1px solid;
|
||||
cursor: pointer;
|
||||
}
|
||||
button:hover {
|
||||
background-color: lighten( @headerBackground, 15% );
|
||||
}
|
||||
}
|
||||
|
||||
/* Column Widget - column sort colors */
|
||||
tr.odd td.primary {
|
||||
background-color: @primaryOdd;
|
||||
}
|
||||
td.primary, tr.even td.primary {
|
||||
background-color: @primaryEven;
|
||||
}
|
||||
tr.odd td.secondary {
|
||||
background-color: @secondaryOdd;
|
||||
}
|
||||
td.secondary, tr.even td.secondary {
|
||||
background-color: @secondaryEven;
|
||||
}
|
||||
tr.odd td.tertiary {
|
||||
background-color: @tertiaryOdd;
|
||||
}
|
||||
td.tertiary, tr.even td.tertiary {
|
||||
background-color: @tertiaryEven;
|
||||
}
|
||||
|
||||
/* caption (non-theme matching) */
|
||||
caption {
|
||||
background-color: @captionBackground ;
|
||||
}
|
||||
|
||||
/* filter widget */
|
||||
.tablesorter-filter-row input,
|
||||
.tablesorter-filter-row select{
|
||||
width: 98%;
|
||||
height: auto;
|
||||
margin: 0;
|
||||
padding: @overallPadding;
|
||||
color: @filterElementTextColor;
|
||||
background-color: @filterElementBkgd;
|
||||
border: @filterElementBorder;
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
.filterWidgetTransition;
|
||||
}
|
||||
.tablesorter-filter-row {
|
||||
background-color: @filterCellBackground;
|
||||
}
|
||||
.tablesorter-filter-row td {
|
||||
text-align: center;
|
||||
background-color: @filterCellBackground;
|
||||
line-height: normal;
|
||||
text-align: center; /* center the input */
|
||||
.filterWidgetTransition;
|
||||
}
|
||||
/* hidden filter row */
|
||||
.tablesorter-filter-row.hideme td {
|
||||
padding: @filterRowHiddenHeight / 2;
|
||||
margin: 0;
|
||||
line-height: 0;
|
||||
cursor: pointer;
|
||||
}
|
||||
.tablesorter-filter-row.hideme * {
|
||||
height: 1px;
|
||||
min-height: 0;
|
||||
border: 0;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
/* don't use visibility: hidden because it disables tabbing */
|
||||
opacity: 0;
|
||||
filter: alpha(opacity=0);
|
||||
}
|
||||
/* rows hidden by filtering (needed for child rows) */
|
||||
.filtered {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* ajax error row */
|
||||
.tablesorter-errorRow td {
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
background-color: @errorBackground;
|
||||
}
|
||||
|
||||
}
|
||||
330
modules/pdproductattributeslist/views/css/less/theme.less
Normal file
@@ -0,0 +1,330 @@
|
||||
/* Tablesorter Custom LESS Theme by Rob Garrison
|
||||
|
||||
To create your own theme, modify the code below and run it through
|
||||
a LESS compiler, like this one: http://leafo.net/lessphp/editor.html
|
||||
or download less.js from http://lesscss.org/
|
||||
|
||||
Test out these custom less files live
|
||||
Basic Theme : http://codepen.io/Mottie/pen/eqBbn
|
||||
Bootstrap : http://codepen.io/Mottie/pen/Ltzpi
|
||||
Metro Style : http://codepen.io/Mottie/pen/gCslk
|
||||
Basic SCSS : http://codepen.io/Mottie/pen/LbXdNR
|
||||
|
||||
*/
|
||||
|
||||
/*** theme ***/
|
||||
@theme : tablesorter-custom;
|
||||
|
||||
/*** fonts ***/
|
||||
@tableHeaderFont : 11px 'trebuchet ms', verdana, arial;
|
||||
@tableBodyFont : 11px 'trebuchet ms', verdana, arial;
|
||||
|
||||
/*** color definitions ***/
|
||||
/* for best results, only change the hue (120),
|
||||
leave the saturation (60%) and luminosity (75%) alone
|
||||
pick the color from here: http://hslpicker.com/#99E699 */
|
||||
@headerBackground : hsl(120, 60%, 75%);
|
||||
@borderAndBackground : #cdcdcd;
|
||||
@overallBorder : @borderAndBackground 1px solid;
|
||||
@headerTextColor : #000;
|
||||
|
||||
@bodyBackground : #fff;
|
||||
@bodyTextColor : #000;
|
||||
|
||||
@headerAsc : darken(spin(@headerBackground, 5), 10%); /* darken(@headerBackground, 10%); */
|
||||
@headerDesc : lighten(spin(@headerBackground, -5), 10%); /* desaturate(@headerAsc, 5%); */
|
||||
|
||||
@captionBackground : #fff; /* it might be best to match the document body background color here */
|
||||
@errorBackground : #e6bf99; /* ajax error message (added to thead) */
|
||||
|
||||
@filterCellBackground : #eee;
|
||||
@filterElementTextColor: #333;
|
||||
@filterElementBkgd : #fff;
|
||||
@filterElementBorder : 1px solid #bbb;
|
||||
@filterTransitionTime : 0.1s;
|
||||
@filterRowHiddenHeight : 4px; /* becomes height using padding (so it's divided by 2) */
|
||||
|
||||
@overallPadding : 4px;
|
||||
/* 20px should be slightly wider than the icon width to avoid overlap */
|
||||
@headerPadding : 4px 20px 4px 4px;
|
||||
|
||||
/* url(icons/loading.gif); */
|
||||
@processingIcon : url('data:image/gif;base64,R0lGODlhFAAUAKEAAO7u7lpaWgAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQBCgACACwAAAAAFAAUAAACQZRvoIDtu1wLQUAlqKTVxqwhXIiBnDg6Y4eyx4lKW5XK7wrLeK3vbq8J2W4T4e1nMhpWrZCTt3xKZ8kgsggdJmUFACH5BAEKAAIALAcAAAALAAcAAAIUVB6ii7jajgCAuUmtovxtXnmdUAAAIfkEAQoAAgAsDQACAAcACwAAAhRUIpmHy/3gUVQAQO9NetuugCFWAAAh+QQBCgACACwNAAcABwALAAACE5QVcZjKbVo6ck2AF95m5/6BSwEAIfkEAQoAAgAsBwANAAsABwAAAhOUH3kr6QaAcSrGWe1VQl+mMUIBACH5BAEKAAIALAIADQALAAcAAAIUlICmh7ncTAgqijkruDiv7n2YUAAAIfkEAQoAAgAsAAAHAAcACwAAAhQUIGmHyedehIoqFXLKfPOAaZdWAAAh+QQFCgACACwAAAIABwALAAACFJQFcJiXb15zLYRl7cla8OtlGGgUADs=');
|
||||
|
||||
/* zebra striping */
|
||||
.allRows {
|
||||
background-color: @bodyBackground;
|
||||
color: @bodyTextColor;
|
||||
}
|
||||
.evenRows {
|
||||
background-color: lighten(@headerBackground, 40%);
|
||||
color: @bodyTextColor;
|
||||
}
|
||||
.oddRows {
|
||||
background-color: lighten(@headerBackground, 20%);
|
||||
}
|
||||
|
||||
/* hovered rows */
|
||||
.oddHovered {
|
||||
background-color: desaturate(@headerBackground, 60%);
|
||||
color: @bodyTextColor;
|
||||
}
|
||||
.evenHovered {
|
||||
background-color: lighten( desaturate(@headerBackground, 60%), 10% );
|
||||
color: @bodyTextColor;
|
||||
}
|
||||
|
||||
/* Columns widget */
|
||||
@primaryOdd : spin(@headerBackground, 10); /* saturate( darken( desaturate(@headerBackground, 10%), 10% ), 30%); */
|
||||
@primaryEven : lighten( @primaryOdd, 10% );
|
||||
@secondaryOdd : @primaryEven;
|
||||
@secondaryEven : lighten( @primaryEven, 5% );
|
||||
@tertiaryOdd : @secondaryEven;
|
||||
@tertiaryEven : lighten( @secondaryEven, 5% );
|
||||
|
||||
/* Filter widget transition */
|
||||
.filterWidgetTransition {
|
||||
-webkit-transition: line-height @filterTransitionTime ease;
|
||||
-moz-transition: line-height @filterTransitionTime ease;
|
||||
-o-transition: line-height @filterTransitionTime ease;
|
||||
transition: line-height @filterTransitionTime ease;
|
||||
}
|
||||
|
||||
/*** Arrows ***/
|
||||
@arrowPosition : right 5px center;
|
||||
|
||||
/* black */
|
||||
@unsortedBlack : url(data:image/gif;base64,R0lGODlhFQAJAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAkAAAIXjI+AywnaYnhUMoqt3gZXPmVg94yJVQAAOw==);
|
||||
@sortAscBlack : url(data:image/gif;base64,R0lGODlhFQAEAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAQAAAINjI8Bya2wnINUMopZAQA7);
|
||||
@sortDescBlack : url(data:image/gif;base64,R0lGODlhFQAEAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAQAAAINjB+gC+jP2ptn0WskLQA7);
|
||||
|
||||
/* white */
|
||||
@unsortedWhite : url(data:image/gif;base64,R0lGODlhFQAJAIAAAP///////yH5BAEAAAEALAAAAAAVAAkAAAIXjI+AywnaYnhUMoqt3gZXPmVg94yJVQAAOw==);
|
||||
@sortAscWhite : url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjI8Bya2wnINUMopZAQA7);
|
||||
@sortDescWhite : url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjB+gC+jP2ptn0WskLQA7);
|
||||
|
||||
/* automatically choose the correct arrow/text color */
|
||||
.headerText (@a) when (lightness(@a) >= 50%) {
|
||||
color: @headerTextColor;
|
||||
}
|
||||
.headerText (@a) when (lightness(@a) < 50%) {
|
||||
color: lighten(@headerTextColor, 90%);
|
||||
}
|
||||
.unsorted (@a) when (lightness(@a) >= 50%) {
|
||||
background-image: @unsortedBlack;
|
||||
}
|
||||
.unsorted (@a) when (lightness(@a) < 50%) {
|
||||
background-image: @unsortedWhite;
|
||||
}
|
||||
.sortAsc (@a) when (lightness(@a) >= 50%) {
|
||||
background-image: @sortAscBlack;
|
||||
}
|
||||
.sortAsc (@a) when (lightness(@a) < 50%) {
|
||||
background-image: @sortAscWhite;
|
||||
}
|
||||
.sortDesc (@a) when (lightness(@a) >= 50%) {
|
||||
background-image: @sortDescBlack;
|
||||
}
|
||||
.sortDesc (@a) when (lightness(@a) < 50%) {
|
||||
background-image: @sortDescWhite;
|
||||
}
|
||||
|
||||
/* variable theme name - requires less.js 1.3+;
|
||||
or just replace (!".@{theme}") with the contents of @theme
|
||||
*/
|
||||
.@{theme} {
|
||||
font: @tableBodyFont;
|
||||
background-color: @borderAndBackground;
|
||||
margin: 10px 0 15px;
|
||||
width: 100%;
|
||||
text-align: left;
|
||||
border-spacing: 0;
|
||||
border: @overallBorder;
|
||||
border-width: 1px 0 0 1px;
|
||||
|
||||
th, td {
|
||||
border: @overallBorder;
|
||||
border-width: 0 1px 1px 0;
|
||||
}
|
||||
|
||||
/* style th's outside of the thead */
|
||||
th, thead td {
|
||||
font: @tableHeaderFont;
|
||||
font-weight: bold;
|
||||
background-color: @headerBackground;
|
||||
.headerText(@headerBackground);
|
||||
border-collapse: collapse;
|
||||
padding: @overallPadding;
|
||||
}
|
||||
|
||||
tbody td, tfoot th, tfoot td {
|
||||
padding: @overallPadding;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
/* style header */
|
||||
.tablesorter-header {
|
||||
.unsorted(@headerBackground);
|
||||
background-repeat: no-repeat;
|
||||
background-position: @arrowPosition;
|
||||
padding: @headerPadding;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.tablesorter-header.sorter-false {
|
||||
background-image: none;
|
||||
cursor: default;
|
||||
padding: @overallPadding;
|
||||
}
|
||||
|
||||
.tablesorter-headerAsc {
|
||||
background-color: @headerAsc;
|
||||
.sortAsc(@headerBackground);
|
||||
}
|
||||
|
||||
.tablesorter-headerDesc {
|
||||
background-color: @headerDesc;
|
||||
.sortDesc(@headerBackground);
|
||||
}
|
||||
|
||||
/* tfoot */
|
||||
tfoot .tablesorter-headerAsc,
|
||||
tfoot .tablesorter-headerDesc {
|
||||
/* remove sort arrows from footer */
|
||||
background-image: none;
|
||||
}
|
||||
|
||||
/* optional disabled input styling */
|
||||
.disabled {
|
||||
opacity: 0.5;
|
||||
filter: alpha(opacity=50);
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
||||
/* body */
|
||||
tbody {
|
||||
|
||||
td {
|
||||
.allRows;
|
||||
padding: @overallPadding;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
/* Zebra Widget - row alternating colors */
|
||||
tr.odd > td {
|
||||
.oddRows;
|
||||
}
|
||||
tr.even > td {
|
||||
.evenRows;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/* hovered row colors
|
||||
you'll need to add additional lines for
|
||||
rows with more than 2 child rows
|
||||
*/
|
||||
tbody > tr.hover td,
|
||||
tbody > tr:hover td,
|
||||
tbody > tr:hover + tr.tablesorter-childRow > td,
|
||||
tbody > tr:hover + tr.tablesorter-childRow + tr.tablesorter-childRow > td,
|
||||
tbody > tr.even.hover > td,
|
||||
tbody > tr.even:hover > td,
|
||||
tbody > tr.even:hover + tr.tablesorter-childRow > td,
|
||||
tbody > tr.even:hover + tr.tablesorter-childRow + tr.tablesorter-childRow > td {
|
||||
.evenHovered;
|
||||
}
|
||||
tbody > tr.odd.hover > td,
|
||||
tbody > tr.odd:hover > td,
|
||||
tbody > tr.odd:hover + tr.tablesorter-childRow > td,
|
||||
tbody > tr.odd:hover + tr.tablesorter-childRow + tr.tablesorter-childRow > td {
|
||||
.oddHovered;
|
||||
}
|
||||
|
||||
/* table processing indicator - indeterminate spinner */
|
||||
.tablesorter-processing {
|
||||
background-image: @processingIcon;
|
||||
background-position: center center;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
/* Column Widget - column sort colors */
|
||||
tr.odd td.primary {
|
||||
background-color: @primaryOdd;
|
||||
}
|
||||
td.primary, tr.even td.primary {
|
||||
background-color: @primaryEven;
|
||||
}
|
||||
tr.odd td.secondary {
|
||||
background-color: @secondaryOdd;
|
||||
}
|
||||
td.secondary, tr.even td.secondary {
|
||||
background-color: @secondaryEven;
|
||||
}
|
||||
tr.odd td.tertiary {
|
||||
background-color: @tertiaryOdd;
|
||||
}
|
||||
td.tertiary, tr.even td.tertiary {
|
||||
background-color: @tertiaryEven;
|
||||
}
|
||||
|
||||
/* caption (non-theme matching) */
|
||||
caption {
|
||||
background-color: @captionBackground ;
|
||||
}
|
||||
|
||||
/* filter widget */
|
||||
.tablesorter-filter-row input,
|
||||
.tablesorter-filter-row select {
|
||||
width: 98%;
|
||||
height: auto;
|
||||
margin: 0;
|
||||
padding: @overallPadding;
|
||||
color: @filterElementTextColor;
|
||||
background-color: @filterElementBkgd;
|
||||
border: @filterElementBorder;
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
.filterWidgetTransition;
|
||||
}
|
||||
.tablesorter-filter-row {
|
||||
background-color: @filterCellBackground;
|
||||
}
|
||||
.tablesorter-filter-row td {
|
||||
text-align: center;
|
||||
background-color: @filterCellBackground;
|
||||
line-height: normal;
|
||||
text-align: center; /* center the input */
|
||||
.filterWidgetTransition;
|
||||
}
|
||||
/* hidden filter row */
|
||||
.tablesorter-filter-row.hideme td {
|
||||
padding: @filterRowHiddenHeight / 2;
|
||||
margin: 0;
|
||||
line-height: 0;
|
||||
cursor: pointer;
|
||||
}
|
||||
.tablesorter-filter-row.hideme * {
|
||||
height: 1px;
|
||||
min-height: 0;
|
||||
border: 0;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
/* don't use visibility: hidden because it disables tabbing */
|
||||
opacity: 0;
|
||||
filter: alpha(opacity=0);
|
||||
}
|
||||
/* rows hidden by filtering (needed for child rows) */
|
||||
.filtered {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* ajax error row */
|
||||
.tablesorter-errorRow td {
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
background-color: @errorBackground;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,253 @@
|
||||
|
||||
#pdproductattributeslist {
|
||||
width:100%;
|
||||
margin-top: 15px;
|
||||
margin-right: 9px;
|
||||
margin-left: 9px;
|
||||
}
|
||||
|
||||
#pdproductattributeslist table {}
|
||||
|
||||
#pdproductattributeslist input.quantity {
|
||||
|
||||
}
|
||||
#pdproductattributeslist .old_price {
|
||||
font-size: 12px;
|
||||
text-decoration: line-through;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
#pdproductattributeslist .price {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#pdproductattributeslist .bootstrap-touchspin .input-group-btn-vertical i {
|
||||
left: 4px;
|
||||
}
|
||||
#pdproductattributeslist table td.option_infos .product-title {
|
||||
text-transform: capitalize;
|
||||
margin: .5rem 0;
|
||||
text-align: unset;
|
||||
}
|
||||
|
||||
/** RESPOINSIVE TABLE **/
|
||||
|
||||
#pdproductattributeslist td, #pdproductattributeslist th {
|
||||
vertical-align: middle;
|
||||
text-align: center;
|
||||
padding-top: .75rem;
|
||||
padding-bottom: .75rem;
|
||||
}
|
||||
|
||||
#pdproductattributeslist th {
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
#pdproductattributeslist td img {max-width: 100%;}
|
||||
|
||||
#pdproductattributeslist .option_image a.hidden {display:none;}
|
||||
|
||||
|
||||
#pdproductattributeslist th.product_image {width:10%;}
|
||||
#pdproductattributeslist th.product_infos {}
|
||||
#pdproductattributeslist th.product_price {width:12%;}
|
||||
#pdproductattributeslist th.product_variant {width:10%;}
|
||||
#pdproductattributeslist th.product_qty {width:10%;}
|
||||
#pdproductattributeslist th.product_btn {width:12%;}
|
||||
|
||||
|
||||
#pdproductattributeslist .footer_actions { background:#ddd; }
|
||||
|
||||
#pdproductattributeslist b, #pdproductattributeslist strong {
|
||||
margin-bottom: 0.3rem;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
|
||||
#category .product-quantity > .col {
|
||||
margin-bottom: .0rem;
|
||||
}
|
||||
|
||||
|
||||
|
||||
#pdproductattributeslist .option_gty .product-quantity {max-width:200px; }
|
||||
|
||||
#pdproductattributeslist .product-quantity .qty {width:100%}
|
||||
|
||||
#pdproductattributeslist .add-to-cart-pdproductattributeslist {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#pdproductattributeslist .product-quantity .quantity {
|
||||
width: 3rem;
|
||||
height: 2.75rem;
|
||||
padding: .175rem .5rem;
|
||||
color: #232323;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
#pdproductattributeslist .product-quantity .bootstrap-touchspin {
|
||||
float: unset;
|
||||
text-align: center;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
/*
|
||||
Max width before this PARTICULAR table gets nasty
|
||||
This query will take effect for any screen smaller than 760px
|
||||
and also iPads specifically.
|
||||
*/
|
||||
@media
|
||||
only screen and (max-width: 760px),
|
||||
(min-device-width: 768px) and (max-device-width: 1024px) {
|
||||
|
||||
#pdproductattributeslist table {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/* Force table to not be like tables anymore */
|
||||
#pdproductattributeslist table,
|
||||
#pdproductattributeslist thead,
|
||||
#pdproductattributeslist tbody,
|
||||
#pdproductattributeslist th,
|
||||
#pdproductattributeslist td,
|
||||
#pdproductattributeslist tr {
|
||||
display: block;
|
||||
}
|
||||
|
||||
/* Hide table headers (but not display: none;, for accessibility) */
|
||||
#pdproductattributeslist thead tr {
|
||||
position: absolute;
|
||||
top: -9999px;
|
||||
left: -9999px;
|
||||
}
|
||||
|
||||
#pdproductattributeslist tr { border: 1px solid #ccc; }
|
||||
|
||||
#pdproductattributeslist td {
|
||||
/* Behave like a "row" */
|
||||
border: none;
|
||||
border-bottom: 1px solid #eee;
|
||||
position: relative;
|
||||
padding-left: 50%;
|
||||
}
|
||||
|
||||
#pdproductattributeslist td:before {
|
||||
/* Now like a table header */
|
||||
position: absolute;
|
||||
/* Top/left values mimic padding */
|
||||
top: 6px;
|
||||
left: 6px;
|
||||
width: 45%;
|
||||
padding-right: 10px;
|
||||
white-space: nowrap;
|
||||
/* Label the data */
|
||||
content: attr(data-column);
|
||||
|
||||
color: #000;
|
||||
font-weight: bold;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
|
||||
#pdproductattributeslist .grid .product-description {
|
||||
height: 120px;
|
||||
}
|
||||
|
||||
#pdproductattributeslist .grid .thumbnail-container {
|
||||
height: 388px;
|
||||
}
|
||||
|
||||
#pdproductattributeslist .grid .thumbnail-container form {
|
||||
text-align: center;
|
||||
margin: 10px 0 10px 0;
|
||||
}
|
||||
|
||||
#pdproductattributeslist .grid .thumbnail-container:hover .highlighted-informations {
|
||||
bottom: 8.625rem;
|
||||
}
|
||||
|
||||
#pdproductattributeslist .grid .thumbnail-container:hover .highlighted-informations.no-variants {
|
||||
bottom: 6.375rem;
|
||||
}
|
||||
|
||||
#pdproductattributeslist .grid .add-to-cart-or-refresh {text-align: center;}
|
||||
|
||||
#pdproductattributeslist .grid input.qtyfield {
|
||||
padding: 0 6px;
|
||||
margin: 0 5px 0 5px;
|
||||
vertical-align: bottom;
|
||||
display: inline;
|
||||
float: unset;
|
||||
}
|
||||
|
||||
#pdproductattributeslist .grid .product-quantity input.qtyfield {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
height: 48px;
|
||||
border: 0;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
#pdproductattributeslist .grid .product-quantity .qty {
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
|
||||
@media (max-width: 768px) {
|
||||
#pdproductattributeslist .table-responsive {
|
||||
width: 100%;
|
||||
margin-bottom: 15px;
|
||||
overflow-y: hidden;
|
||||
overflow-x: scroll;
|
||||
border: 1px solid #d6d4d4; }
|
||||
#pdproductattributeslist .table-responsive > .table {
|
||||
margin-bottom: 0;
|
||||
background-color: #fff; }
|
||||
#pdproductattributeslist .table-responsive > .table > thead > tr > th,
|
||||
#pdproductattributeslist .table-responsive > .table > thead > tr > td,
|
||||
#pdproductattributeslist .table-responsive > .table > tbody > tr > th,
|
||||
#pdproductattributeslist .table-responsive > .table > tbody > tr > td,
|
||||
#pdproductattributeslist .table-responsive > .table > tfoot > tr > th,
|
||||
#pdproductattributeslist .table-responsive > .table > tfoot > tr > td {
|
||||
white-space: nowrap; }
|
||||
#pdproductattributeslist .table-responsive > .table-bordered {
|
||||
border: 0; }
|
||||
#pdproductattributeslist .table-responsive > .table-bordered > thead > tr > th:first-child,
|
||||
#pdproductattributeslist .table-responsive > .table-bordered > thead > tr > td:first-child,
|
||||
#pdproductattributeslist .table-responsive > .table-bordered > tbody > tr > th:first-child,
|
||||
#pdproductattributeslist .table-responsive > .table-bordered > tbody > tr > td:first-child,
|
||||
#pdproductattributeslist .table-responsive > .table-bordered > tfoot > tr > th:first-child,
|
||||
#pdproductattributeslist .table-responsive > .table-bordered > tfoot > tr > td:first-child {
|
||||
border-left: 0; }
|
||||
#pdproductattributeslist .table-responsive > .table-bordered > thead > tr > th:last-child,
|
||||
#pdproductattributeslist .table-responsive > .table-bordered > thead > tr > td:last-child,
|
||||
#pdproductattributeslist .table-responsive > .table-bordered > tbody > tr > th:last-child,
|
||||
#pdproductattributeslist .table-responsive > .table-bordered > tbody > tr > td:last-child,
|
||||
#pdproductattributeslist .table-responsive > .table-bordered > tfoot > tr > th:last-child,
|
||||
#pdproductattributeslist .table-responsive > .table-bordered > tfoot > tr > td:last-child {
|
||||
border-right: 0; }
|
||||
#pdproductattributeslist .table-responsive > .table-bordered > thead > tr:last-child > th,
|
||||
#pdproductattributeslist .table-responsive > .table-bordered > thead > tr:last-child > td,
|
||||
#pdproductattributeslist .table-responsive > .table-bordered > tbody > tr:last-child > th,
|
||||
#pdproductattributeslist .table-responsive > .table-bordered > tbody > tr:last-child > td,
|
||||
#pdproductattributeslist .table-responsive > .table-bordered > tfoot > tr:last-child > th,
|
||||
#pdproductattributeslist .table-responsive > .table-bordered > tfoot > tr:last-child > td {
|
||||
border-bottom: 0; }
|
||||
|
||||
#pdproductattributeslist tr.footer_actions td {height:50px;}
|
||||
}
|
||||
|
||||
|
||||
|
||||
#pdproductattributeslist_grid .product-quantity,
|
||||
#pdproductattributeslist_grid button.add-to-cart {width:100%;margin-top:10px;}
|
||||
|
||||
#pdproductattributeslist_grid .product-quantity .bootstrap-touchspin input.form-control,
|
||||
#pdproductattributeslist_grid .product-quantity .bootstrap-touchspin input.input-group {
|
||||
width: auto;
|
||||
height: 2.75rem;
|
||||
}
|
||||
|
||||
#pdproductattributeslist_grid .product-quantity .bootstrap-touchspin {margin:0 auto;}
|
||||
|
||||
327
modules/pdproductattributeslist/views/css/scss/theme.scss
Normal file
@@ -0,0 +1,327 @@
|
||||
/* Tablesorter Custom SCSS Theme by Dan Feidt (https://github.com/HongPong)
|
||||
Converted from Custom LESS Theme by Rob Garrison
|
||||
|
||||
To create your own theme, modify the code below and run it through
|
||||
a SCSS compiler, like this one: http://beautifytools.com/scss-compiler.php
|
||||
or download sass.js from https://github.com/medialize/sass.js
|
||||
|
||||
Test out these customization files live
|
||||
Basic LESS Theme : http://codepen.io/Mottie/pen/eqBbn
|
||||
Bootstrap LESS : http://codepen.io/Mottie/pen/Ltzpi
|
||||
Metro LESS Style : http://codepen.io/Mottie/pen/gCslk
|
||||
Basic SCSS : http://codepen.io/Mottie/pen/LbXdNR
|
||||
|
||||
*/
|
||||
|
||||
/*** theme ***/
|
||||
$theme : tablesorter-custom;
|
||||
|
||||
/*** fonts ***/
|
||||
$tableHeaderFont : 11px 'trebuchet ms', verdana, arial;
|
||||
$tableBodyFont : 11px 'trebuchet ms', verdana, arial;
|
||||
|
||||
/*** color definitions ***/
|
||||
/* for best results, only change the hue (120),
|
||||
leave the saturation (60%) and luminosity (75%) alone
|
||||
pick the color from here: http://hslpicker.com/#99E699 */
|
||||
$headerBackground : hsl(0, 60%, 75%);
|
||||
$borderAndBackground : #cdcdcd;
|
||||
$overallBorder : $borderAndBackground 1px solid;
|
||||
$headerTextColor : #000;
|
||||
|
||||
$bodyBackground : #fff;
|
||||
$bodyTextColor : #000;
|
||||
|
||||
$headerAsc : darken(adjust-hue($headerBackground, 5), 10%); /* darken($headerBackground, 10%); */
|
||||
$headerDesc : lighten(adjust-hue($headerBackground, -5), 10%); /* desaturate($headerAsc, 5%); */
|
||||
|
||||
$captionBackground : #fff; /* it might be best to match the document body background color here */
|
||||
$errorBackground : #e6bf99; /* ajax error message (added to thead) */
|
||||
|
||||
$filterCellBackground : #eee;
|
||||
$filterElementTextColor: #333;
|
||||
$filterElementBkgd : #fff;
|
||||
$filterElementBorder : 1px solid #bbb;
|
||||
$filterTransitionTime : 0.1s;
|
||||
$filterRowHiddenHeight : 4px; /* becomes height using padding (so it's divided by 2) */
|
||||
|
||||
$overallPadding : 4px;
|
||||
/* 20px should be slightly wider than the icon width to avoid overlap */
|
||||
$headerPadding : 4px 20px 4px 4px;
|
||||
|
||||
/* url(icons/loading.gif); */
|
||||
$processingIcon : url('data:image/gif;base64,R0lGODlhFAAUAKEAAO7u7lpaWgAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQBCgACACwAAAAAFAAUAAACQZRvoIDtu1wLQUAlqKTVxqwhXIiBnDg6Y4eyx4lKW5XK7wrLeK3vbq8J2W4T4e1nMhpWrZCTt3xKZ8kgsggdJmUFACH5BAEKAAIALAcAAAALAAcAAAIUVB6ii7jajgCAuUmtovxtXnmdUAAAIfkEAQoAAgAsDQACAAcACwAAAhRUIpmHy/3gUVQAQO9NetuugCFWAAAh+QQBCgACACwNAAcABwALAAACE5QVcZjKbVo6ck2AF95m5/6BSwEAIfkEAQoAAgAsBwANAAsABwAAAhOUH3kr6QaAcSrGWe1VQl+mMUIBACH5BAEKAAIALAIADQALAAcAAAIUlICmh7ncTAgqijkruDiv7n2YUAAAIfkEAQoAAgAsAAAHAAcACwAAAhQUIGmHyedehIoqFXLKfPOAaZdWAAAh+QQFCgACACwAAAIABwALAAACFJQFcJiXb15zLYRl7cla8OtlGGgUADs=');
|
||||
|
||||
/* zebra striping */
|
||||
@mixin allRows {
|
||||
background-color: $bodyBackground;
|
||||
color: $bodyTextColor;
|
||||
}
|
||||
@mixin evenRows {
|
||||
background-color: lighten($headerBackground, 40%);
|
||||
color: $bodyTextColor;
|
||||
}
|
||||
@mixin oddRows {
|
||||
background-color: lighten($headerBackground, 20%);
|
||||
}
|
||||
|
||||
/* hovered rows */
|
||||
@mixin oddHovered {
|
||||
background-color: desaturate($headerBackground, 60%);
|
||||
color: $bodyTextColor;
|
||||
}
|
||||
@mixin evenHovered {
|
||||
background-color: lighten( desaturate($headerBackground, 60%), 10% );
|
||||
color: $bodyTextColor;
|
||||
}
|
||||
|
||||
/* Columns widget */
|
||||
$primaryOdd : adjust-hue($headerBackground, 10); /* saturate( darken( desaturate($headerBackground, 10%), 10% ), 30%); */
|
||||
$primaryEven : lighten( $primaryOdd, 10% );
|
||||
$secondaryOdd : $primaryEven;
|
||||
$secondaryEven : lighten( $primaryEven, 5% );
|
||||
$tertiaryOdd : $secondaryEven;
|
||||
$tertiaryEven : lighten( $secondaryEven, 5% );
|
||||
|
||||
/* Filter widget transition */
|
||||
@mixin filterWidgetTransition {
|
||||
-webkit-transition: line-height $filterTransitionTime ease;
|
||||
-moz-transition: line-height $filterTransitionTime ease;
|
||||
-o-transition: line-height $filterTransitionTime ease;
|
||||
transition: line-height $filterTransitionTime ease;
|
||||
}
|
||||
|
||||
/*** Arrows ***/
|
||||
$arrowPosition : right 5px center;
|
||||
|
||||
/* black */
|
||||
$unsortedBlack : url(data:image/gif;base64,R0lGODlhFQAJAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAkAAAIXjI+AywnaYnhUMoqt3gZXPmVg94yJVQAAOw==);
|
||||
$sortAscBlack : url(data:image/gif;base64,R0lGODlhFQAEAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAQAAAINjI8Bya2wnINUMopZAQA7);
|
||||
$sortDescBlack : url(data:image/gif;base64,R0lGODlhFQAEAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAQAAAINjB+gC+jP2ptn0WskLQA7);
|
||||
|
||||
/* white */
|
||||
$unsortedWhite : url(data:image/gif;base64,R0lGODlhFQAJAIAAAP///////yH5BAEAAAEALAAAAAAVAAkAAAIXjI+AywnaYnhUMoqt3gZXPmVg94yJVQAAOw==);
|
||||
$sortAscWhite : url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjI8Bya2wnINUMopZAQA7);
|
||||
$sortDescWhite : url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjB+gC+jP2ptn0WskLQA7);
|
||||
|
||||
/* automatically choose the correct arrow/text color */
|
||||
@function set-lightness($a, $b) {
|
||||
@if (lightness($headerBackground) >= 50) {
|
||||
@return $a;
|
||||
} @else {
|
||||
@return $b;
|
||||
}
|
||||
}
|
||||
@mixin headerText {
|
||||
color: set-lightness($headerTextColor, lighten($headerTextColor, 90%));
|
||||
}
|
||||
|
||||
@mixin unsorted {
|
||||
background-image: set-lightness($unsortedBlack, $unsortedWhite);
|
||||
}
|
||||
@mixin sortAsc {
|
||||
background-image: set-lightness($sortAscBlack, $sortAscWhite);
|
||||
}
|
||||
@mixin sortDesc {
|
||||
background-image: set-lightness($sortDescBlack, $sortDescWhite);
|
||||
}
|
||||
|
||||
/* variable theme name - requires less.js 1.3+;
|
||||
or just replace (!".#{$theme}") with the contents of $theme
|
||||
*/
|
||||
.#{$theme} {
|
||||
font: $tableBodyFont;
|
||||
background-color: $borderAndBackground;
|
||||
margin: 10px 0 15px;
|
||||
width: 100%;
|
||||
text-align: left;
|
||||
border-spacing: 0;
|
||||
border: $overallBorder;
|
||||
border-width: 1px 0 0 1px;
|
||||
|
||||
th, td {
|
||||
border: $overallBorder;
|
||||
border-width: 0 1px 1px 0;
|
||||
}
|
||||
|
||||
/* style th's outside of the thead */
|
||||
th, thead td {
|
||||
font: $tableHeaderFont;
|
||||
font-weight: bold;
|
||||
background-color: $headerBackground;
|
||||
@include headerText;
|
||||
border-collapse: collapse;
|
||||
padding: $overallPadding;
|
||||
}
|
||||
|
||||
tbody td, tfoot th, tfoot td {
|
||||
padding: $overallPadding;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
/* style header */
|
||||
.tablesorter-header {
|
||||
@include unsorted;
|
||||
background-repeat: no-repeat;
|
||||
background-position: $arrowPosition;
|
||||
padding: $headerPadding;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.tablesorter-header.sorter-false {
|
||||
background-image: none;
|
||||
cursor: default;
|
||||
padding: $overallPadding;
|
||||
}
|
||||
|
||||
.tablesorter-headerAsc {
|
||||
background-color: $headerAsc;
|
||||
@include sortAsc;
|
||||
}
|
||||
|
||||
.tablesorter-headerDesc {
|
||||
background-color: $headerDesc;
|
||||
@include sortDesc;
|
||||
}
|
||||
|
||||
/* tfoot */
|
||||
tfoot .tablesorter-headerAsc,
|
||||
tfoot .tablesorter-headerDesc {
|
||||
/* remove sort arrows from footer */
|
||||
background-image: none;
|
||||
}
|
||||
|
||||
/* optional disabled input styling */
|
||||
.disabled {
|
||||
opacity: 0.5;
|
||||
filter: alpha(opacity=50);
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
||||
/* body */
|
||||
tbody {
|
||||
|
||||
td {
|
||||
@include allRows;
|
||||
padding: $overallPadding;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
/* Zebra Widget - row alternating colors */
|
||||
tr.odd > td {
|
||||
@include oddRows;
|
||||
}
|
||||
tr.even > td {
|
||||
@include evenRows;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/* hovered row colors
|
||||
you'll need to add additional lines for
|
||||
rows with more than 2 child rows
|
||||
*/
|
||||
tbody > tr.hover td,
|
||||
tbody > tr:hover td,
|
||||
tbody > tr:hover + tr.tablesorter-childRow > td,
|
||||
tbody > tr:hover + tr.tablesorter-childRow + tr.tablesorter-childRow > td,
|
||||
tbody > tr.even.hover > td,
|
||||
tbody > tr.even:hover > td,
|
||||
tbody > tr.even:hover + tr.tablesorter-childRow > td,
|
||||
tbody > tr.even:hover + tr.tablesorter-childRow + tr.tablesorter-childRow > td {
|
||||
@include evenHovered;
|
||||
}
|
||||
tbody > tr.odd.hover > td,
|
||||
tbody > tr.odd:hover > td,
|
||||
tbody > tr.odd:hover + tr.tablesorter-childRow > td,
|
||||
tbody > tr.odd:hover + tr.tablesorter-childRow + tr.tablesorter-childRow > td {
|
||||
@include oddHovered;
|
||||
}
|
||||
|
||||
/* table processing indicator - indeterminate spinner */
|
||||
.tablesorter-processing {
|
||||
background-image: $processingIcon;
|
||||
background-position: center center;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
/* Column Widget - column sort colors */
|
||||
tr.odd td.primary {
|
||||
background-color: $primaryOdd;
|
||||
}
|
||||
td.primary, tr.even td.primary {
|
||||
background-color: $primaryEven;
|
||||
}
|
||||
tr.odd td.secondary {
|
||||
background-color: $secondaryOdd;
|
||||
}
|
||||
td.secondary, tr.even td.secondary {
|
||||
background-color: $secondaryEven;
|
||||
}
|
||||
tr.odd td.tertiary {
|
||||
background-color: $tertiaryOdd;
|
||||
}
|
||||
td.tertiary, tr.even td.tertiary {
|
||||
background-color: $tertiaryEven;
|
||||
}
|
||||
|
||||
/* caption (non-theme matching) */
|
||||
caption {
|
||||
background-color: $captionBackground ;
|
||||
}
|
||||
|
||||
/* filter widget */
|
||||
.tablesorter-filter-row input,
|
||||
.tablesorter-filter-row select {
|
||||
width: 98%;
|
||||
height: auto;
|
||||
margin: 0;
|
||||
padding: $overallPadding;
|
||||
color: $filterElementTextColor;
|
||||
background-color: $filterElementBkgd;
|
||||
border: $filterElementBorder;
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
@include filterWidgetTransition;
|
||||
}
|
||||
.tablesorter-filter-row {
|
||||
background-color: $filterCellBackground;
|
||||
}
|
||||
.tablesorter-filter-row td {
|
||||
text-align: center;
|
||||
background-color: $filterCellBackground;
|
||||
line-height: normal;
|
||||
text-align: center; /* center the input */
|
||||
@include filterWidgetTransition;
|
||||
}
|
||||
/* hidden filter row */
|
||||
.tablesorter-filter-row.hideme td {
|
||||
padding: $filterRowHiddenHeight / 2;
|
||||
margin: 0;
|
||||
line-height: 0;
|
||||
cursor: pointer;
|
||||
}
|
||||
.tablesorter-filter-row.hideme * {
|
||||
height: 1px;
|
||||
min-height: 0;
|
||||
border: 0;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
/* don't use visibility: hidden because it disables tabbing */
|
||||
opacity: 0;
|
||||
filter: alpha(opacity=0);
|
||||
}
|
||||
/* rows hidden by filtering (needed for child rows) */
|
||||
.filtered {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* ajax error row */
|
||||
.tablesorter-errorRow td {
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
background-color: $errorBackground;
|
||||
}
|
||||
|
||||
}
|
||||
1
modules/pdproductattributeslist/views/css/theme.blackice.min.css
vendored
Normal file
@@ -0,0 +1 @@
|
||||
.tablesorter-blackice{width:100%;margin-right:auto;margin-left:auto;font:11px/18px Arial,Sans-serif;text-align:left;background-color:#000;border-collapse:collapse;border-spacing:0}.tablesorter-blackice th,.tablesorter-blackice thead td{padding:4px;font:13px/20px Arial,Sans-serif;font-weight:700;color:#e5e5e5;text-align:left;text-shadow:0 1px 0 rgba(0,0,0,.7);background-color:#111;border:1px solid #232323}.tablesorter-blackice .header,.tablesorter-blackice .tablesorter-header{padding:4px 20px 4px 4px;cursor:pointer;background-image:url(data:image/gif;base64,R0lGODlhFQAJAIAAAP///////yH5BAEAAAEALAAAAAAVAAkAAAIXjI+AywnaYnhUMoqt3gZXPmVg94yJVQAAOw==);background-position:center right;background-repeat:no-repeat}.tablesorter-blackice .headerSortUp,.tablesorter-blackice .tablesorter-headerAsc,.tablesorter-blackice .tablesorter-headerSortUp{background-image:url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjI8Bya2wnINUMopZAQA7);color:#fff}.tablesorter-blackice .headerSortDown,.tablesorter-blackice .tablesorter-headerDesc,.tablesorter-blackice .tablesorter-headerSortDown{color:#fff;background-image:url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjB+gC+jP2ptn0WskLQA7)}.tablesorter-blackice thead .sorter-false{background-image:none;cursor:default;padding:4px}.tablesorter-blackice tfoot .tablesorter-headerAsc,.tablesorter-blackice tfoot .tablesorter-headerDesc,.tablesorter-blackice tfoot .tablesorter-headerSortDown,.tablesorter-blackice tfoot .tablesorter-headerSortUp{background-image:none}.tablesorter-blackice td{padding:4px;color:#ccc;vertical-align:top;background-color:#333;border:1px solid #232323}.tablesorter-blackice tbody>tr.even:hover>td,.tablesorter-blackice tbody>tr.hover>td,.tablesorter-blackice tbody>tr.odd:hover>td,.tablesorter-blackice tbody>tr:hover>td{background-color:#000}.tablesorter-blackice .tablesorter-processing{background-position:center center!important;background-repeat:no-repeat!important;background-image:url(data:image/gif;base64,R0lGODlhFAAUAKEAAO7u7lpaWgAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQBCgACACwAAAAAFAAUAAACQZRvoIDtu1wLQUAlqKTVxqwhXIiBnDg6Y4eyx4lKW5XK7wrLeK3vbq8J2W4T4e1nMhpWrZCTt3xKZ8kgsggdJmUFACH5BAEKAAIALAcAAAALAAcAAAIUVB6ii7jajgCAuUmtovxtXnmdUAAAIfkEAQoAAgAsDQACAAcACwAAAhRUIpmHy/3gUVQAQO9NetuugCFWAAAh+QQBCgACACwNAAcABwALAAACE5QVcZjKbVo6ck2AF95m5/6BSwEAIfkEAQoAAgAsBwANAAsABwAAAhOUH3kr6QaAcSrGWe1VQl+mMUIBACH5BAEKAAIALAIADQALAAcAAAIUlICmh7ncTAgqijkruDiv7n2YUAAAIfkEAQoAAgAsAAAHAAcACwAAAhQUIGmHyedehIoqFXLKfPOAaZdWAAAh+QQFCgACACwAAAIABwALAAACFJQFcJiXb15zLYRl7cla8OtlGGgUADs=)!important}.tablesorter-blackice tr.odd>td{background-color:#333}.tablesorter-blackice tr.even>td{background-color:#393939}.tablesorter-blackice td.primary,.tablesorter-blackice tr.odd td.primary{background-color:#2f3a40}.tablesorter-blackice tr.even td.primary{background-color:#3f4a50}.tablesorter-blackice td.secondary,.tablesorter-blackice tr.odd td.secondary{background-color:#3f4a50}.tablesorter-blackice tr.even td.secondary{background-color:#4f5a60}.tablesorter-blackice td.tertiary,.tablesorter-blackice tr.odd td.tertiary{background-color:#4f5a60}.tablesorter-blackice tr.even td.tertiary{background-color:#5a646b}.tablesorter-blackice>caption{background-color:#fff}.tablesorter-blackice .tablesorter-filter-row{background-color:#222}.tablesorter-blackice .tablesorter-filter-row td{background-color:#222;line-height:normal;text-align:center;-webkit-transition:line-height .1s ease;-moz-transition:line-height .1s ease;-o-transition:line-height .1s ease;transition:line-height .1s ease}.tablesorter-blackice .tablesorter-filter-row .disabled{opacity:.5;cursor:not-allowed}.tablesorter-blackice .tablesorter-filter-row.hideme td{padding:2px;margin:0;line-height:0;cursor:pointer}.tablesorter-blackice .tablesorter-filter-row.hideme *{height:1px;min-height:0;border:0;padding:0;margin:0;opacity:0}.tablesorter-blackice input.tablesorter-filter,.tablesorter-blackice select.tablesorter-filter{width:98%;height:auto;margin:0;padding:4px;background-color:#fff;border:1px solid #bbb;color:#333;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:height .1s ease;-moz-transition:height .1s ease;-o-transition:height .1s ease;transition:height .1s ease}.tablesorter .filtered{display:none}.tablesorter .tablesorter-errorRow td{text-align:center;cursor:pointer;background-color:#e6bf99}
|
||||
229
modules/pdproductattributeslist/views/css/theme.blue.css
Normal file
@@ -0,0 +1,229 @@
|
||||
/*************
|
||||
Blue Theme
|
||||
*************/
|
||||
/* overall */
|
||||
.tablesorter-blue {
|
||||
width: 100%;
|
||||
background-color: #fff;
|
||||
margin: 10px 0 15px;
|
||||
text-align: left;
|
||||
border-spacing: 0;
|
||||
border: #cdcdcd 1px solid;
|
||||
border-width: 1px 0 0 1px;
|
||||
}
|
||||
.tablesorter-blue th,
|
||||
.tablesorter-blue td {
|
||||
border: #cdcdcd 1px solid;
|
||||
border-width: 0 1px 1px 0;
|
||||
}
|
||||
|
||||
/* header */
|
||||
.tablesorter-blue th,
|
||||
.tablesorter-blue thead td {
|
||||
font: 12px/18px Arial, Sans-serif;
|
||||
font-weight: bold;
|
||||
color: #000;
|
||||
background-color: #99bfe6;
|
||||
border-collapse: collapse;
|
||||
padding: 4px;
|
||||
text-shadow: 0 1px 0 rgba(204, 204, 204, 0.7);
|
||||
}
|
||||
.tablesorter-blue tbody td,
|
||||
.tablesorter-blue tfoot th,
|
||||
.tablesorter-blue tfoot td {
|
||||
padding: 4px;
|
||||
vertical-align: top;
|
||||
}
|
||||
.tablesorter-blue .header,
|
||||
.tablesorter-blue .tablesorter-header {
|
||||
/* black (unsorted) double arrow */
|
||||
background-image: url(data:image/gif;base64,R0lGODlhFQAJAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAkAAAIXjI+AywnaYnhUMoqt3gZXPmVg94yJVQAAOw==);
|
||||
/* white (unsorted) double arrow */
|
||||
/* background-image: url(data:image/gif;base64,R0lGODlhFQAJAIAAAP///////yH5BAEAAAEALAAAAAAVAAkAAAIXjI+AywnaYnhUMoqt3gZXPmVg94yJVQAAOw==); */
|
||||
/* image */
|
||||
/* background-image: url(images/black-unsorted.gif); */
|
||||
background-repeat: no-repeat;
|
||||
background-position: center right;
|
||||
padding: 4px 18px 4px 4px;
|
||||
white-space: normal;
|
||||
cursor: pointer;
|
||||
}
|
||||
.tablesorter-blue .headerSortUp,
|
||||
.tablesorter-blue .tablesorter-headerSortUp,
|
||||
.tablesorter-blue .tablesorter-headerAsc {
|
||||
background-color: #9fbfdf;
|
||||
/* black asc arrow */
|
||||
background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAQAAAINjI8Bya2wnINUMopZAQA7);
|
||||
/* white asc arrow */
|
||||
/* background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjI8Bya2wnINUMopZAQA7); */
|
||||
/* image */
|
||||
/* background-image: url(images/black-asc.gif); */
|
||||
}
|
||||
.tablesorter-blue .headerSortDown,
|
||||
.tablesorter-blue .tablesorter-headerSortDown,
|
||||
.tablesorter-blue .tablesorter-headerDesc {
|
||||
background-color: #8cb3d9;
|
||||
/* black desc arrow */
|
||||
background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAQAAAINjB+gC+jP2ptn0WskLQA7);
|
||||
/* white desc arrow */
|
||||
/* background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjB+gC+jP2ptn0WskLQA7); */
|
||||
/* image */
|
||||
/* background-image: url(images/black-desc.gif); */
|
||||
}
|
||||
.tablesorter-blue thead .sorter-false {
|
||||
background-image: none;
|
||||
cursor: default;
|
||||
padding: 4px;
|
||||
}
|
||||
|
||||
/* tfoot */
|
||||
.tablesorter-blue tfoot .tablesorter-headerSortUp,
|
||||
.tablesorter-blue tfoot .tablesorter-headerSortDown,
|
||||
.tablesorter-blue tfoot .tablesorter-headerAsc,
|
||||
.tablesorter-blue tfoot .tablesorter-headerDesc {
|
||||
/* remove sort arrows from footer */
|
||||
background-image: none;
|
||||
}
|
||||
|
||||
/* tbody */
|
||||
.tablesorter-blue td {
|
||||
color: #3d3d3d;
|
||||
background-color: #fff;
|
||||
padding: 4px;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
/* hovered row colors
|
||||
you'll need to add additional lines for
|
||||
rows with more than 2 child rows
|
||||
*/
|
||||
.tablesorter-blue tbody > tr.hover > td,
|
||||
.tablesorter-blue tbody > tr:hover > td,
|
||||
.tablesorter-blue tbody > tr:hover + tr.tablesorter-childRow > td,
|
||||
.tablesorter-blue tbody > tr:hover + tr.tablesorter-childRow + tr.tablesorter-childRow > td,
|
||||
.tablesorter-blue tbody > tr.even.hover > td,
|
||||
.tablesorter-blue tbody > tr.even:hover > td,
|
||||
.tablesorter-blue tbody > tr.even:hover + tr.tablesorter-childRow > td,
|
||||
.tablesorter-blue tbody > tr.even:hover + tr.tablesorter-childRow + tr.tablesorter-childRow > td {
|
||||
background-color: #d9d9d9;
|
||||
}
|
||||
.tablesorter-blue tbody > tr.odd.hover > td,
|
||||
.tablesorter-blue tbody > tr.odd:hover > td,
|
||||
.tablesorter-blue tbody > tr.odd:hover + tr.tablesorter-childRow > td,
|
||||
.tablesorter-blue tbody > tr.odd:hover + tr.tablesorter-childRow + tr.tablesorter-childRow > td {
|
||||
background-color: #bfbfbf;
|
||||
}
|
||||
|
||||
/* table processing indicator */
|
||||
.tablesorter-blue .tablesorter-processing {
|
||||
background-position: center center !important;
|
||||
background-repeat: no-repeat !important;
|
||||
/* background-image: url(images/loading.gif) !important; */
|
||||
background-image: url('data:image/gif;base64,R0lGODlhFAAUAKEAAO7u7lpaWgAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQBCgACACwAAAAAFAAUAAACQZRvoIDtu1wLQUAlqKTVxqwhXIiBnDg6Y4eyx4lKW5XK7wrLeK3vbq8J2W4T4e1nMhpWrZCTt3xKZ8kgsggdJmUFACH5BAEKAAIALAcAAAALAAcAAAIUVB6ii7jajgCAuUmtovxtXnmdUAAAIfkEAQoAAgAsDQACAAcACwAAAhRUIpmHy/3gUVQAQO9NetuugCFWAAAh+QQBCgACACwNAAcABwALAAACE5QVcZjKbVo6ck2AF95m5/6BSwEAIfkEAQoAAgAsBwANAAsABwAAAhOUH3kr6QaAcSrGWe1VQl+mMUIBACH5BAEKAAIALAIADQALAAcAAAIUlICmh7ncTAgqijkruDiv7n2YUAAAIfkEAQoAAgAsAAAHAAcACwAAAhQUIGmHyedehIoqFXLKfPOAaZdWAAAh+QQFCgACACwAAAIABwALAAACFJQFcJiXb15zLYRl7cla8OtlGGgUADs=') !important;
|
||||
}
|
||||
|
||||
/* Zebra Widget - row alternating colors */
|
||||
.tablesorter-blue tbody tr.odd > td {
|
||||
background-color: #ebf2fa;
|
||||
}
|
||||
.tablesorter-blue tbody tr.even > td {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
/* Column Widget - column sort colors */
|
||||
.tablesorter-blue td.primary,
|
||||
.tablesorter-blue tr.odd td.primary {
|
||||
background-color: #99b3e6;
|
||||
}
|
||||
.tablesorter-blue tr.even td.primary {
|
||||
background-color: #c2d1f0;
|
||||
}
|
||||
.tablesorter-blue td.secondary,
|
||||
.tablesorter-blue tr.odd td.secondary {
|
||||
background-color: #c2d1f0;
|
||||
}
|
||||
.tablesorter-blue tr.even td.secondary {
|
||||
background-color: #d6e0f5;
|
||||
}
|
||||
.tablesorter-blue td.tertiary,
|
||||
.tablesorter-blue tr.odd td.tertiary {
|
||||
background-color: #d6e0f5;
|
||||
}
|
||||
.tablesorter-blue tr.even td.tertiary {
|
||||
background-color: #ebf0fa;
|
||||
}
|
||||
|
||||
/* caption */
|
||||
.tablesorter-blue > caption {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
/* filter widget */
|
||||
.tablesorter-blue .tablesorter-filter-row {
|
||||
background-color: #eee;
|
||||
}
|
||||
.tablesorter-blue .tablesorter-filter-row td {
|
||||
background-color: #eee;
|
||||
line-height: normal;
|
||||
text-align: center; /* center the input */
|
||||
-webkit-transition: line-height 0.1s ease;
|
||||
-moz-transition: line-height 0.1s ease;
|
||||
-o-transition: line-height 0.1s ease;
|
||||
transition: line-height 0.1s ease;
|
||||
}
|
||||
/* optional disabled input styling */
|
||||
.tablesorter-blue .tablesorter-filter-row .disabled {
|
||||
opacity: 0.5;
|
||||
filter: alpha(opacity=50);
|
||||
cursor: not-allowed;
|
||||
}
|
||||
/* hidden filter row */
|
||||
.tablesorter-blue .tablesorter-filter-row.hideme td {
|
||||
/*** *********************************************** ***/
|
||||
/*** change this padding to modify the thickness ***/
|
||||
/*** of the closed filter row (height = padding x 2) ***/
|
||||
padding: 2px;
|
||||
/*** *********************************************** ***/
|
||||
margin: 0;
|
||||
line-height: 0;
|
||||
cursor: pointer;
|
||||
}
|
||||
.tablesorter-blue .tablesorter-filter-row.hideme * {
|
||||
height: 1px;
|
||||
min-height: 0;
|
||||
border: 0;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
/* don't use visibility: hidden because it disables tabbing */
|
||||
opacity: 0;
|
||||
filter: alpha(opacity=0);
|
||||
}
|
||||
/* filters */
|
||||
.tablesorter-blue input.tablesorter-filter,
|
||||
.tablesorter-blue select.tablesorter-filter {
|
||||
width: 98%;
|
||||
height: auto;
|
||||
margin: 0;
|
||||
padding: 4px;
|
||||
background-color: #fff;
|
||||
border: 1px solid #bbb;
|
||||
color: #333;
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
-webkit-transition: height 0.1s ease;
|
||||
-moz-transition: height 0.1s ease;
|
||||
-o-transition: height 0.1s ease;
|
||||
transition: height 0.1s ease;
|
||||
}
|
||||
/* rows hidden by filtering (needed for child rows) */
|
||||
.tablesorter .filtered {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* ajax error row */
|
||||
.tablesorter .tablesorter-errorRow td {
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
background-color: #e6bf99;
|
||||
}
|
||||
1
modules/pdproductattributeslist/views/css/theme.blue.min.css
vendored
Normal file
1
modules/pdproductattributeslist/views/css/theme.bootstrap.min.css
vendored
Normal file
1
modules/pdproductattributeslist/views/css/theme.bootstrap_2.min.css
vendored
Normal file
1
modules/pdproductattributeslist/views/css/theme.bootstrap_3.min.css
vendored
Normal file
1
modules/pdproductattributeslist/views/css/theme.bootstrap_4.min.css
vendored
Normal file
1
modules/pdproductattributeslist/views/css/theme.dark.min.css
vendored
Normal file
@@ -0,0 +1 @@
|
||||
.tablesorter-dark{width:100%;font:11px/18px Arial,Sans-serif;color:#ccc;text-align:left;background-color:#000;border-spacing:0}.tablesorter-dark th,.tablesorter-dark thead td{padding:4px;font:12px/20px Arial,Sans-serif;font-weight:700;color:#fff;background-color:#000;border-collapse:collapse}.tablesorter-dark thead th{border-bottom:#333 2px solid}.tablesorter-dark .header,.tablesorter-dark .tablesorter-header{padding:4px 20px 4px 4px;cursor:pointer;background-image:url(data:image/gif;base64,R0lGODlhFQAJAIAAAP///////yH5BAEAAAEALAAAAAAVAAkAAAIXjI+AywnaYnhUMoqt3gZXPmVg94yJVQAAOw==);background-position:center right;background-repeat:no-repeat}.tablesorter-dark thead .headerSortUp,.tablesorter-dark thead .tablesorter-headerAsc,.tablesorter-dark thead .tablesorter-headerSortUp{background-image:url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjI8Bya2wnINUMopZAQA7);border-bottom:#888 1px solid}.tablesorter-dark thead .headerSortDown,.tablesorter-dark thead .tablesorter-headerDesc,.tablesorter-dark thead .tablesorter-headerSortDown{background-image:url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjB+gC+jP2ptn0WskLQA7);border-bottom:#888 1px solid}.tablesorter-dark thead .sorter-false{background-image:none;cursor:default;padding:4px}.tablesorter-dark tfoot .tablesorter-headerAsc,.tablesorter-dark tfoot .tablesorter-headerDesc,.tablesorter-dark tfoot .tablesorter-headerSortDown,.tablesorter-dark tfoot .tablesorter-headerSortUp{border-top:#888 1px solid;background-image:none}.tablesorter-dark td{padding:4px;background-color:#000;border-bottom:#333 1px solid;color:#ccc}.tablesorter-dark tbody>tr.even:hover>td,.tablesorter-dark tbody>tr.hover>td,.tablesorter-dark tbody>tr.odd:hover>td,.tablesorter-dark tbody>tr:hover>td{background-color:#000}.tablesorter-dark .tablesorter-processing{background-position:center center!important;background-repeat:no-repeat!important;background-image:url(data:image/gif;base64,R0lGODlhFAAUAKEAAO7u7lpaWgAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQBCgACACwAAAAAFAAUAAACQZRvoIDtu1wLQUAlqKTVxqwhXIiBnDg6Y4eyx4lKW5XK7wrLeK3vbq8J2W4T4e1nMhpWrZCTt3xKZ8kgsggdJmUFACH5BAEKAAIALAcAAAALAAcAAAIUVB6ii7jajgCAuUmtovxtXnmdUAAAIfkEAQoAAgAsDQACAAcACwAAAhRUIpmHy/3gUVQAQO9NetuugCFWAAAh+QQBCgACACwNAAcABwALAAACE5QVcZjKbVo6ck2AF95m5/6BSwEAIfkEAQoAAgAsBwANAAsABwAAAhOUH3kr6QaAcSrGWe1VQl+mMUIBACH5BAEKAAIALAIADQALAAcAAAIUlICmh7ncTAgqijkruDiv7n2YUAAAIfkEAQoAAgAsAAAHAAcACwAAAhQUIGmHyedehIoqFXLKfPOAaZdWAAAh+QQFCgACACwAAAIABwALAAACFJQFcJiXb15zLYRl7cla8OtlGGgUADs=)!important}.tablesorter-dark tr.odd>td{background-color:#202020}.tablesorter-dark tr.even>td{background-color:#101010}.tablesorter-dark td.primary,.tablesorter-dark tr.odd td.primary{background-color:#0a0a0a}.tablesorter-dark tr.even td.primary{background-color:#050505}.tablesorter-dark td.secondary,.tablesorter-dark tr.odd td.secondary{background-color:#0f0f0f}.tablesorter-dark tr.even td.secondary{background-color:#0a0a0a}.tablesorter-dark td.tertiary,.tablesorter-dark tr.odd td.tertiary{background-color:#191919}.tablesorter-dark tr.even td.tertiary{background-color:#0f0f0f}.tablesorter-dark>caption{background-color:#202020}.tablesorter-dark .tablesorter-filter-row{background-color:#202020}.tablesorter-dark .tablesorter-filter-row td{background-color:#202020;line-height:normal;text-align:center;-webkit-transition:line-height .1s ease;-moz-transition:line-height .1s ease;-o-transition:line-height .1s ease;transition:line-height .1s ease}.tablesorter-dark .tablesorter-filter-row .disabled{opacity:.5;cursor:not-allowed}.tablesorter-dark .tablesorter-filter-row.hideme td{padding:2px;margin:0;line-height:0;cursor:pointer}.tablesorter-dark .tablesorter-filter-row.hideme *{height:1px;min-height:0;border:0;padding:0;margin:0;opacity:0}.tablesorter-dark input.tablesorter-filter,.tablesorter-dark select.tablesorter-filter{width:98%;height:auto;margin:0;padding:4px;background-color:#111;border:1px solid #222;color:#ddd;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:height .1s ease;-moz-transition:height .1s ease;-o-transition:height .1s ease;transition:height .1s ease}.tablesorter .filtered{display:none}.tablesorter .tablesorter-errorRow td{text-align:center;cursor:pointer;background-color:#e6bf99}
|
||||
1
modules/pdproductattributeslist/views/css/theme.default.min.css
vendored
Normal file
@@ -0,0 +1 @@
|
||||
.tablesorter-default{width:100%;font:12px/18px Arial,Sans-serif;color:#333;background-color:#fff;border-spacing:0;margin:10px 0 15px;text-align:left}.tablesorter-default th,.tablesorter-default thead td{font-weight:700;color:#000;background-color:#fff;border-collapse:collapse;border-bottom:#ccc 2px solid;padding:0}.tablesorter-default tfoot td,.tablesorter-default tfoot th{border:0}.tablesorter-default .header,.tablesorter-default .tablesorter-header{background-image:url(data:image/gif;base64,R0lGODlhFQAJAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAkAAAIXjI+AywnaYnhUMoqt3gZXPmVg94yJVQAAOw==);background-position:center right;background-repeat:no-repeat;cursor:pointer;white-space:normal;padding:4px 20px 4px 4px}.tablesorter-default thead .headerSortUp,.tablesorter-default thead .tablesorter-headerAsc,.tablesorter-default thead .tablesorter-headerSortUp{background-image:url(data:image/gif;base64,R0lGODlhFQAEAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAQAAAINjI8Bya2wnINUMopZAQA7);border-bottom:#000 2px solid}.tablesorter-default thead .headerSortDown,.tablesorter-default thead .tablesorter-headerDesc,.tablesorter-default thead .tablesorter-headerSortDown{background-image:url(data:image/gif;base64,R0lGODlhFQAEAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAQAAAINjB+gC+jP2ptn0WskLQA7);border-bottom:#000 2px solid}.tablesorter-default thead .sorter-false{background-image:none;cursor:default;padding:4px}.tablesorter-default tfoot .tablesorter-headerAsc,.tablesorter-default tfoot .tablesorter-headerDesc,.tablesorter-default tfoot .tablesorter-headerSortDown,.tablesorter-default tfoot .tablesorter-headerSortUp{border-top:#000 2px solid}.tablesorter-default td{background-color:#fff;border-bottom:#ccc 1px solid;padding:4px;vertical-align:top}.tablesorter-default tbody>tr.even:hover>td,.tablesorter-default tbody>tr.hover>td,.tablesorter-default tbody>tr.odd:hover>td,.tablesorter-default tbody>tr:hover>td{background-color:#fff;color:#000}.tablesorter-default .tablesorter-processing{background-position:center center!important;background-repeat:no-repeat!important;background-image:url(data:image/gif;base64,R0lGODlhFAAUAKEAAO7u7lpaWgAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQBCgACACwAAAAAFAAUAAACQZRvoIDtu1wLQUAlqKTVxqwhXIiBnDg6Y4eyx4lKW5XK7wrLeK3vbq8J2W4T4e1nMhpWrZCTt3xKZ8kgsggdJmUFACH5BAEKAAIALAcAAAALAAcAAAIUVB6ii7jajgCAuUmtovxtXnmdUAAAIfkEAQoAAgAsDQACAAcACwAAAhRUIpmHy/3gUVQAQO9NetuugCFWAAAh+QQBCgACACwNAAcABwALAAACE5QVcZjKbVo6ck2AF95m5/6BSwEAIfkEAQoAAgAsBwANAAsABwAAAhOUH3kr6QaAcSrGWe1VQl+mMUIBACH5BAEKAAIALAIADQALAAcAAAIUlICmh7ncTAgqijkruDiv7n2YUAAAIfkEAQoAAgAsAAAHAAcACwAAAhQUIGmHyedehIoqFXLKfPOAaZdWAAAh+QQFCgACACwAAAIABwALAAACFJQFcJiXb15zLYRl7cla8OtlGGgUADs=)!important}.tablesorter-default tr.odd>td{background-color:#dfdfdf}.tablesorter-default tr.even>td{background-color:#efefef}.tablesorter-default tr.odd td.primary{background-color:#bfbfbf}.tablesorter-default td.primary,.tablesorter-default tr.even td.primary{background-color:#d9d9d9}.tablesorter-default tr.odd td.secondary{background-color:#d9d9d9}.tablesorter-default td.secondary,.tablesorter-default tr.even td.secondary{background-color:#e6e6e6}.tablesorter-default tr.odd td.tertiary{background-color:#e6e6e6}.tablesorter-default td.tertiary,.tablesorter-default tr.even td.tertiary{background-color:#f2f2f2}.tablesorter-default>caption{background-color:#fff}.tablesorter-default .tablesorter-filter-row{background-color:#eee}.tablesorter-default .tablesorter-filter-row td{background-color:#eee;border-bottom:#ccc 1px solid;line-height:normal;text-align:center;-webkit-transition:line-height .1s ease;-moz-transition:line-height .1s ease;-o-transition:line-height .1s ease;transition:line-height .1s ease}.tablesorter-default .tablesorter-filter-row .disabled{opacity:.5;cursor:not-allowed}.tablesorter-default .tablesorter-filter-row.hideme td{padding:2px;margin:0;line-height:0;cursor:pointer}.tablesorter-default .tablesorter-filter-row.hideme *{height:1px;min-height:0;border:0;padding:0;margin:0;opacity:0}.tablesorter-default input.tablesorter-filter,.tablesorter-default select.tablesorter-filter{width:95%;height:auto;margin:4px auto;padding:4px;background-color:#fff;border:1px solid #bbb;color:#333;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:height .1s ease;-moz-transition:height .1s ease;-o-transition:height .1s ease;transition:height .1s ease}.tablesorter .filtered{display:none}.tablesorter .tablesorter-errorRow td{text-align:center;cursor:pointer;background-color:#e6bf99}
|
||||
1
modules/pdproductattributeslist/views/css/theme.dropbox.min.css
vendored
Normal file
1
modules/pdproductattributeslist/views/css/theme.green.min.css
vendored
Normal file
1
modules/pdproductattributeslist/views/css/theme.grey.min.css
vendored
Normal file
1
modules/pdproductattributeslist/views/css/theme.ice.min.css
vendored
Normal file
1
modules/pdproductattributeslist/views/css/theme.jui.min.css
vendored
Normal file
@@ -0,0 +1 @@
|
||||
.tablesorter-jui{width:100%;border-collapse:separate;border-spacing:2px;margin:10px 0 15px;padding:5px;font-size:.8em}.tablesorter-jui tfoot td,.tablesorter-jui tfoot th,.tablesorter-jui thead td,.tablesorter-jui thead th{position:relative;background-repeat:no-repeat;background-position:right center;font-weight:700!important;border-width:1px!important;text-align:left;padding:8px}.tablesorter-jui .header,.tablesorter-jui .tablesorter-header{cursor:pointer;white-space:normal}.tablesorter-jui .tablesorter-header-inner{padding-right:20px}.tablesorter-jui thead tr th .ui-icon{position:absolute;right:3px;top:50%;margin-top:-8px}.tablesorter-jui thead .sorter-false{cursor:default}.tablesorter-jui thead tr .sorter-false .ui-icon{display:none}.tablesorter-jui tfoot td,.tablesorter-jui tfoot th{font-weight:400!important;font-size:.9em;padding:2px}.tablesorter-jui td{padding:4px;vertical-align:top}.tablesorter-jui tbody>tr.hover>td,.tablesorter-jui tbody>tr:hover>td{opacity:.7}.tablesorter-jui .tablesorter-processing .tablesorter-header-inner{background-position:center center!important;background-repeat:no-repeat!important;background-image:url(data:image/gif;base64,R0lGODlhFAAUAKEAAO7u7lpaWgAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQBCgACACwAAAAAFAAUAAACQZRvoIDtu1wLQUAlqKTVxqwhXIiBnDg6Y4eyx4lKW5XK7wrLeK3vbq8J2W4T4e1nMhpWrZCTt3xKZ8kgsggdJmUFACH5BAEKAAIALAcAAAALAAcAAAIUVB6ii7jajgCAuUmtovxtXnmdUAAAIfkEAQoAAgAsDQACAAcACwAAAhRUIpmHy/3gUVQAQO9NetuugCFWAAAh+QQBCgACACwNAAcABwALAAACE5QVcZjKbVo6ck2AF95m5/6BSwEAIfkEAQoAAgAsBwANAAsABwAAAhOUH3kr6QaAcSrGWe1VQl+mMUIBACH5BAEKAAIALAIADQALAAcAAAIUlICmh7ncTAgqijkruDiv7n2YUAAAIfkEAQoAAgAsAAAHAAcACwAAAhQUIGmHyedehIoqFXLKfPOAaZdWAAAh+QQFCgACACwAAAIABwALAAACFJQFcJiXb15zLYRl7cla8OtlGGgUADs=)!important}.tablesorter-jui tr.ui-state-default{background-image:none;font-weight:400}.tablesorter-jui .tablesorter-processing{background-color:#ddd;background-color:rgba(255,255,255,.8)}.tablesorter-jui>caption{border:0}.tablesorter-jui .tablesorter-filter-row{background-color:transparent}.tablesorter-jui .tablesorter-filter-row td{background-color:transparent;line-height:normal;text-align:center;-webkit-transition:line-height .1s ease;-moz-transition:line-height .1s ease;-o-transition:line-height .1s ease;transition:line-height .1s ease}.tablesorter-jui .tablesorter-filter-row .disabled{opacity:.5;cursor:not-allowed}.tablesorter-jui .tablesorter-filter-row.hideme td{padding:2px;margin:0;line-height:0;cursor:pointer}.tablesorter-jui .tablesorter-filter-row.hideme *{height:1px;min-height:0;border:0;padding:0;margin:0;opacity:0}.tablesorter-jui input.tablesorter-filter,.tablesorter-jui select.tablesorter-filter{width:98%;height:auto;margin:0;padding:4px;background-color:#fff;border:1px solid #bbb;color:#333;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:height .1s ease;-moz-transition:height .1s ease;-o-transition:height .1s ease;transition:height .1s ease}.tablesorter .filtered{display:none}.tablesorter .tablesorter-errorRow td{text-align:center;cursor:pointer;background-color:#e6bf99}
|
||||
1
modules/pdproductattributeslist/views/css/theme.materialize.min.css
vendored
Normal file
1
modules/pdproductattributeslist/views/css/theme.metro-dark.min.css
vendored
Normal file
1
modules/pdproductattributeslist/views/css/widget.grouping.min.css
vendored
Normal file
@@ -0,0 +1 @@
|
||||
tr.group-header td{background:#eee}.group-name{text-transform:uppercase;font-weight:700}.group-count{color:#999}.group-hidden{display:none!important}.group-header,.group-header td{user-select:none;-moz-user-select:none}tr.group-header td i{display:inline-block;width:0;height:0;border-top:4px solid transparent;border-bottom:4px solid #888;border-right:4px solid #888;border-left:4px solid transparent;margin-right:7px;user-select:none;-moz-user-select:none}tr.group-header.collapsed td i{border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid #888;border-right:0;margin-right:10px}
|
||||
35
modules/pdproductattributeslist/views/index.php
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
/*
|
||||
* 2007-2013 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Academic Free License (AFL 3.0)
|
||||
* that is bundled with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://opensource.org/licenses/afl-3.0.php
|
||||
* 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.
|
||||
*
|
||||
* DISCLAIMER
|
||||
*
|
||||
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
|
||||
* versions in the future. If you wish to customize PrestaShop for your
|
||||
* needs please refer to http://www.prestashop.com for more information.
|
||||
*
|
||||
* @author PrestaShop SA <contact@prestashop.com>
|
||||
* @copyright 2007-2013 PrestaShop SA
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*/
|
||||
|
||||
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;
|
||||
5
modules/pdproductattributeslist/views/js/extras/jquery.dragtable.mod.min.js
vendored
Normal file
2
modules/pdproductattributeslist/views/js/extras/jquery.metadata.min.js
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
(function(factory){if (typeof define === 'function' && define.amd){define(['jquery'], factory);} else if (typeof module === 'object' && typeof module.exports === 'object'){module.exports = factory(require('jquery'));} else {factory(jQuery);}}(function(jQuery){
|
||||
!function($){$.extend({metadata:{defaults:{type:"class",name:"metadata",cre:/(\{.*\})/,single:"metadata"},setType:function(t,e){this.defaults.type=t,this.defaults.name=e},get:function(elem,opts){var data,m,e,attr,settings=$.extend({},this.defaults,opts);if(settings.single.length||(settings.single="metadata"),data=$.data(elem,settings.single),!data){if(data="{}","class"===settings.type)m=settings.cre.exec(elem.className),m&&(data=m[1]);else if("elem"===settings.type){if(!elem.getElementsByTagName)return;e=elem.getElementsByTagName(settings.name),e.length&&(data=$.trim(e[0].innerHTML))}else void 0!==elem.getAttribute&&(attr=elem.getAttribute(settings.name),attr)&&(data=attr);data.indexOf("{")<0&&(data="{"+data+"}"),data=eval("("+data+")"),$.data(elem,settings.single,data)}return data}}}),$.fn.metadata=function(t){return $.metadata.get(this[0],t)}}(jQuery);return jQuery;}));
|
||||
6
modules/pdproductattributeslist/views/js/extras/jquery.tablesorter.pager.min.js
vendored
Normal file
2
modules/pdproductattributeslist/views/js/extras/semver-mod.min.js
vendored
Normal file
3
modules/pdproductattributeslist/views/js/jquery.tablesorter.combined.min.js
vendored
Normal file
2916
modules/pdproductattributeslist/views/js/jquery.tablesorter.js
Normal file
1
modules/pdproductattributeslist/views/js/jquery.tablesorter.min.js
vendored
Normal file
3
modules/pdproductattributeslist/views/js/jquery.tablesorter.widgets.min.js
vendored
Normal file
10
modules/pdproductattributeslist/views/js/parsers/parser-date-extract.min.js
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
(function(factory){if (typeof define === 'function' && define.amd){define(['jquery'], factory);} else if (typeof module === 'object' && typeof module.exports === 'object'){module.exports = factory(require('jquery'));} else {factory(jQuery);}}(function(jQuery){
|
||||
/*! Parser: Extract out date - updated 10/26/2014 (v2.18.0) */
|
||||
!function(e){"use strict";var r=/[A-Z]{3,10}\.?\s+\d{1,2},?\s+(?:\d{4})(?:\s+\d{1,2}:\d{2}(?::\d{2})?(?:\s+[AP]M)?)?/i,a=/(\d{1,2}[\/\s]\d{1,2}[\/\s]\d{4}(\s+\d{1,2}:\d{2}(:\d{2})?(\s+[AP]M)?)?)/i,n=/(\d{1,2}[\/\s]\d{1,2}[\/\s]\d{4}(\s+\d{1,2}:\d{2}(:\d{2})?(\s+[AP]M)?)?)/i,i=/(\d{1,2})[\/\s](\d{1,2})[\/\s](\d{4})/,s=/(\d{4}[\/\s]\d{1,2}[\/\s]\d{1,2}(\s+\d{1,2}:\d{2}(:\d{2})?(\s+[AP]M)?)?)/i,d=/(\d{4})[\/\s](\d{1,2})[\/\s](\d{1,2})/;
|
||||
/*! extract US Long Date */e.tablesorter.addParser({id:"extractUSLongDate",is:function(){return!1},format:function(e){var t=e&&e.match(r);return t&&(t=new Date(t[0]))instanceof Date&&isFinite(t)?t.getTime():e},type:"numeric"}),
|
||||
/*! extract MMDDYYYY */
|
||||
e.tablesorter.addParser({id:"extractMMDDYYYY",is:function(){return!1},format:function(e){var t=e&&e.replace(/\s+/g," ").replace(/[\-.,]/g,"/").match(a);return t&&(t=new Date(t[0]))instanceof Date&&isFinite(t)?t.getTime():e},type:"numeric"}),
|
||||
/*! extract DDMMYYYY */
|
||||
e.tablesorter.addParser({id:"extractDDMMYYYY",is:function(){return!1},format:function(e){var t=e&&e.replace(/\s+/g," ").replace(/[\-.,]/g,"/").match(n);return t&&(t=new Date(t[0].replace(i,"$2/$1/$3")))instanceof Date&&isFinite(t)?t.getTime():e},type:"numeric"}),
|
||||
/*! extract YYYYMMDD */
|
||||
e.tablesorter.addParser({id:"extractYYYYMMDD",is:function(){return!1},format:function(e){var t=e&&e.replace(/\s+/g," ").replace(/[\-.,]/g,"/").match(s);return t&&(t=new Date(t[0].replace(d,"$2/$3/$1")))instanceof Date&&isFinite(t)?t.getTime():e},type:"numeric"})}(jQuery);return jQuery;}));
|
||||
3
modules/pdproductattributeslist/views/js/parsers/parser-date-iso8601.min.js
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
(function(factory){if (typeof define === 'function' && define.amd){define(['jquery'], factory);} else if (typeof module === 'object' && typeof module.exports === 'object'){module.exports = factory(require('jquery'));} else {factory(jQuery);}}(function(jQuery){
|
||||
/*! Parser: ISO-8601 date - updated 10/26/2014 (v2.18.0) */
|
||||
!function(e){"use strict";var r=/^([0-9]{4})(-([0-9]{2})(-([0-9]{2})(T([0-9]{2}):([0-9]{2})(:([0-9]{2})(\.([0-9]+))?)?(Z|(([-+])([0-9]{2}):([0-9]{2})))?)?)?)?$/;e.tablesorter.addParser({id:"iso8601date",is:function(e){return!!e&&e.match(r)},format:function(e){var t,s=e&&e.match(r);return s?(t=new Date(s[1],0,1),s[3]&&t.setMonth(s[3]-1),s[5]&&t.setDate(s[5]),s[7]&&t.setHours(s[7]),s[8]&&t.setMinutes(s[8]),s[10]&&t.setSeconds(s[10]),s[12]&&t.setMilliseconds(1e3*Number("0."+s[12])),t.getTime()):e},type:"numeric"})}(jQuery);return jQuery;}));
|
||||
3
modules/pdproductattributeslist/views/js/parsers/parser-date-month.min.js
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
(function(factory){if (typeof define === 'function' && define.amd){define(['jquery'], factory);} else if (typeof module === 'object' && typeof module.exports === 'object'){module.exports = factory(require('jquery'));} else {factory(jQuery);}}(function(jQuery){
|
||||
/*! Parser: Month - updated 11/22/2015 (v2.24.6) */
|
||||
!function(){"use strict";var u=jQuery.tablesorter;u.dates||(u.dates={}),u.dates.months||(u.dates.months={}),u.dates.months.en={1:"Jan",2:"Feb",3:"Mar",4:"Apr",5:"May",6:"Jun",7:"Jul",8:"Aug",9:"Sep",10:"Oct",11:"Nov",12:"Dec"},u.addParser({id:"month",is:function(){return!1},format:function(e,t,n,a){if(e){var r,o,s=t.config,t=s.globalize&&(s.globalize[a]||s.globalize)||{},i=u.dates.months[t.lang||"en"];for(o in s.ignoreCase&&(e=e.toLowerCase()),i)if("string"==typeof o&&(r=i[o],s.ignoreCase&&(r=r.toLowerCase()),e.match(r)))return parseInt(o,10)}return e},type:"numeric"})}();return jQuery;}));
|
||||
10
modules/pdproductattributeslist/views/js/parsers/parser-date-range.min.js
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
(function(factory){if (typeof define === 'function' && define.amd){define(['jquery'], factory);} else if (typeof module === 'object' && typeof module.exports === 'object'){module.exports = factory(require('jquery'));} else {factory(jQuery);}}(function(jQuery){
|
||||
/*! Parser: date ranges -updated 11/22/2015 (v2.24.6) */
|
||||
!function(e){"use strict";var u,f=e.tablesorter,i=/(\d{1,2}[-\s]\d{1,2}[-\s]\d{4}(\s+\d{1,2}:\d{2}(:\d{2})?(\s+[AP]M)?)?)/gi,d=/(\d{1,2}[-\s]\d{1,2}[-\s]\d{4}(\s+\d{1,2}:\d{2}(:\d{2})?(\s+[AP]M)?)?)/gi,o=/(\d{1,2})[-\s](\d{1,2})[-\s](\d{4})/,c=/(\d{4}[-\s]\d{1,2}[-\s]\d{1,2}(\s+\d{1,2}:\d{2}(:\d{2})?(\s+[AP]M)?)?)/gi,g=/(\d{4})[-\s](\d{1,2})[-\s](\d{1,2})/,l=/(\d{1,2}\s+\w+\s+\d{4}(\s+\d{1,2}:\d{2}(:\d{2})?(\s\w+)?)?)/g,p=/(\d{1,2})\s+(\w+)\s+(\d{4})/;
|
||||
/*! date-range MMDDYYYY */e.tablesorter.addParser({id:"date-range-mdy",is:function(){return!1},format:function(e){var t,r,a=[],n=e.replace(/\s+/g," ").replace(/[\/\-.,]/g,"-").match(i),s=n&&n.length;if(s){for(r=0;r<s;r++)t=new Date(n[r]),a.push(t instanceof Date&&isFinite(t)?t.getTime():n[r]);return a.sort().join(" - ")}return e},type:"text"}),
|
||||
/*! date-range DDMMYYYY */
|
||||
e.tablesorter.addParser({id:"date-range-dmy",is:function(){return!1},format:function(e){var t,r,a=[],n=e.replace(/\s+/g," ").replace(/[\/\-.,]/g,"-").match(d),s=n&&n.length;if(s){for(r=0;r<s;r++)t=new Date((""+n[r]).replace(o,"$2/$1/$3")),a.push(t instanceof Date&&isFinite(t)?t.getTime():n[r]);return a.sort().join(" - ")}return e},type:"text"}),
|
||||
/*! date-range DDMMYYYY */
|
||||
e.tablesorter.addParser({id:"date-range-ymd",is:function(){return!1},format:function(e){var t,r,a=[],n=e.replace(/\s+/g," ").replace(/[\/\-.,]/g,"-").match(c),s=n&&n.length;if(s){for(r=0;r<s;r++)t=new Date((""+n[r]).replace(g,"$2/$3/$1")),a.push(t instanceof Date&&isFinite(t)?t.getTime():n[r]);return a.sort().join(" - ")}return e},type:"text"}),f.dates||(f.dates={}),f.dates.months||(f.dates.months={}),f.dates.months.en={1:"Jan",2:"Feb",3:"Mar",4:"Apr",5:"May",6:"Jun",7:"Jul",8:"Aug",9:"Sep",10:"Oct",11:"Nov",12:"Dec"},u=function(e,t,r){var a,n,r=t.globalize&&(t.globalize[r]||t.globalize)||{},s=f.dates.months[r.lang||"en"];for(n in t.ignoreCase&&(e=e.toLowerCase()),s)if("string"==typeof n&&(a=s[n],t.ignoreCase&&(a=a.toLowerCase()),e.match(a)))return parseInt(n,10);return e},
|
||||
/*! date-range "dd MMM yyyy - dd MMM yyyy" */
|
||||
f.addParser({id:"date-range-dMMMyyyy",is:function(){return!1},format:function(e,t,r,a){var n,s,i,d,o=[],c=e.replace(/\s+/g," ").match(l),g=c&&c.length;if(g){for(d=0;d<g;d++)n="",(i=c[d].match(p))&&4<=i.length&&(i.shift(),s=u(i[1],t.config,a),isNaN(s)||(c[d]=c[d].replace(i[1],s)),n=new Date((""+c[d]).replace(f.regex.shortDateXXY,"$3/$2/$1"))),o.push(n instanceof Date&&isFinite(n)?n.getTime():c[d]);return o.sort().join(" - ")}return e},type:"text"})}(jQuery);return jQuery;}));
|
||||
3
modules/pdproductattributeslist/views/js/parsers/parser-date-two-digit-year.min.js
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
(function(factory){if (typeof define === 'function' && define.amd){define(['jquery'], factory);} else if (typeof module === 'object' && typeof module.exports === 'object'){module.exports = factory(require('jquery'));} else {factory(jQuery);}}(function(jQuery){
|
||||
/*! Parser: two digit year - updated 11/26/2016 (v2.28.0) */
|
||||
!function(e){"use strict";var r=e.tablesorter,s=(new Date).getFullYear();r.defaults.dataRange="",r.dates||(r.dates={}),r.dates.regxxxxyy=/(\d{1,2})[\/\s](\d{1,2})[\/\s](\d{2})/,r.dates.regyyxxxx=/(\d{2})[\/\s](\d{1,2})[\/\s](\d{1,2})/,r.formatDate=function(e,t,r,a){if(e){var n,d,t=e.replace(/\s+/g," ").replace(/[-.,]/g,"/").replace(t,r),r=new Date(t);if(r instanceof Date&&isFinite(r)){for(n=r.getFullYear(),d=a&&a.config.dateRange||50;d<s-n;)n+=100;return r.setFullYear(n)}}return e},e.tablesorter.addParser({id:"ddmmyy",is:function(){return!1},format:function(e,t){return r.formatDate(e,r.dates.regxxxxyy,"$2/$1/19$3",t)},type:"numeric"}),e.tablesorter.addParser({id:"mmddyy",is:function(){return!1},format:function(e,t){return r.formatDate(e,r.dates.regxxxxyy,"$1/$2/19$3",t)},type:"numeric"}),e.tablesorter.addParser({id:"yymmdd",is:function(){return!1},format:function(e,t){return r.formatDate(e,r.dates.regyyxxxx,"$2/$3/19$1",t)},type:"numeric"})}(jQuery);return jQuery;}));
|
||||
3
modules/pdproductattributeslist/views/js/parsers/parser-date-weekday.min.js
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
(function(factory){if (typeof define === 'function' && define.amd){define(['jquery'], factory);} else if (typeof module === 'object' && typeof module.exports === 'object'){module.exports = factory(require('jquery'));} else {factory(jQuery);}}(function(jQuery){
|
||||
/*! Parser: weekday - updated 11/22/2015 (v2.24.6) */
|
||||
!function(u){"use strict";var f=u.tablesorter;f.dates||(f.dates={}),f.dates.weekdays||(f.dates.weekdays={}),f.dates.weekdays.en={sun:"Sun",mon:"Mon",tue:"Tue",wed:"Wed",thu:"Thu",fri:"Fri",sat:"Sat"},f.dates.weekStartList={sun:"1995",mon:"1996",fri:"1999",sat:"2000"},f.dates.weekdaysXref=["sun","mon","tue","wed","thu","fri","sat"],f.addParser({id:"weekday",is:function(){return!1},format:function(e,t,a,r){if(e){var n,s,i=t.config,t=i.globalize&&(i.globalize[r]||i.globalize)||{},d=f.dates.weekdays[t.lang||"en"],o=f.dates.weekdaysXref;for(n in i.ignoreCase&&(e=e.toLowerCase()),d)if("string"==typeof n&&(s=d[n],i.ignoreCase&&(s=s.toLowerCase()),e.match(s)))return-1<(s=u.inArray(n,o))?s:e}return e},type:"numeric"}),f.addParser({id:"weekday-index",is:function(){return!1},format:function(e,t){if(e){var t=t.config,a=new Date(e);if(a instanceof Date&&isFinite(a))return new Date("1/"+(a.getDay()+1)+"/"+f.dates.weekStartList[t.weekStarts||"sun"])}return e},type:"numeric"})}(jQuery);return jQuery;}));
|
||||
6
modules/pdproductattributeslist/views/js/parsers/parser-date.min.js
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
(function(factory){if (typeof define === 'function' && define.amd){define(['jquery'], factory);} else if (typeof module === 'object' && typeof module.exports === 'object'){module.exports = factory(require('jquery'));} else {factory(jQuery);}}(function(jQuery){
|
||||
/*! Parser: dates - updated 5/24/2017 (v2.28.11) */
|
||||
!function(e){"use strict";
|
||||
/*! Sugar (https://sugarjs.com/docs/#/DateParsing) */e.tablesorter.addParser({id:"sugar",is:function(){return!1},format:function(e){var t=Date.create||Sugar.Date.create,t=t?t(e):e&&new Date(e);return t instanceof Date&&isFinite(t)?t.getTime():e},type:"numeric"}),
|
||||
/*! Datejs (http://www.datejs.com/) */
|
||||
e.tablesorter.addParser({id:"datejs",is:function(){return!1},format:function(e){var t=Date.parse?Date.parse(e):e&&new Date(e);return t instanceof Date&&isFinite(t)?t.getTime():e},type:"numeric"})}(jQuery);return jQuery;}));
|
||||
5
modules/pdproductattributeslist/views/js/parsers/parser-duration.min.js
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
(function(factory){if (typeof define === 'function' && define.amd){define(['jquery'], factory);} else if (typeof module === 'object' && typeof module.exports === 'object'){module.exports = factory(require('jquery'));} else {factory(jQuery);}}(function(jQuery){
|
||||
/*! Parser: duration & countdown - updated 2/7/2015 (v2.19.0) */
|
||||
!function(e){"use strict";e.tablesorter.addParser({id:"duration",is:function(){return!1},format:function(e,r){var t,n,r=r.config,s="",i="",o=r.durationLength||4,a=new Array(o+1).join("0"),u=(r.durationLabels||"(?:years|year|y),(?:days|day|d),(?:hours|hour|h),(?:minutes|minute|min|m),(?:seconds|second|sec|s)").split(/\s*,\s*/),d=u.length;if(!r.durationRegex){for(t=0;t<d;t++)s+="(?:(\\d+)\\s*"+u[t]+"\\s*)?";r.durationRegex=new RegExp(s,"i")}for(n=(r.usNumberFormat?e.replace(/,/g,""):e.replace(/(\d)(?:\.|\s*)(\d)/g,"$1$2")).match(r.durationRegex),t=1;t<d+1;t++)i+=(a+(n[t]||0)).slice(-o);return i},type:"text"}),
|
||||
/*! Countdown parser ( hh:mm:ss ) */
|
||||
e.tablesorter.addParser({id:"countdown",is:function(){return!1},format:function(e,r){for(var t=r.config.durationLength||4,n=new Array(t+1).join("0"),s=e.split(/\s*:\s*/),i=s.length,o=[];i;)o.push((n+(s[--i]||0)).slice(-t));return o.length?o.reverse().join(""):e},type:"text"})}(jQuery);return jQuery;}));
|
||||
3
modules/pdproductattributeslist/views/js/parsers/parser-feet-inch-fraction.min.js
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
(function(factory){if (typeof define === 'function' && define.amd){define(['jquery'], factory);} else if (typeof module === 'object' && typeof module.exports === 'object'){module.exports = factory(require('jquery'));} else {factory(jQuery);}}(function(jQuery){
|
||||
/*! Parser: distance */
|
||||
!function(s){"use strict";var a=s.tablesorter;a.symbolRegex=/[\u215b\u215c\u215d\u215e\u00bc\u00bd\u00be]/g,a.processFractions=function(t,e){var r;return t&&(r=0,t=s.trim(t.replace(/\"/,"")),/\s/.test(t)&&(r=a.formatFloat(t.split(" ")[0],e),t=s.trim(t.substring(t.indexOf(" "),t.length))),/\//g.test(t)?(e=t.split("/"),t=r+parseInt(e[0],10)/parseInt(e[1]||1,10)):a.symbolRegex.test(t)&&(t=r+t.replace(a.symbolRegex,function(t){return{"⅛":".125","⅜":".375","⅝":".625","⅞":".875","¼":".25","½":".5","¾":".75"}[t]}))),t||0},s.tablesorter.addParser({id:"distance",is:function(){return!1},format:function(t,e){var r,s;return""===t?"":(s=/^\s*\S*(\s+\S+)?\s*\'/.test(t)?t.split(/\'/):[0,t],r=a.processFractions(s[0],e),s=a.processFractions(s[1],e),/[\'\"]/.test(t)?parseFloat(r)+(parseFloat(s)/12||0):parseFloat(r)+parseFloat(s))},type:"numeric"})}(jQuery);return jQuery;}));
|
||||
3
modules/pdproductattributeslist/views/js/parsers/parser-file-type.min.js
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
(function(factory){if (typeof define === 'function' && define.amd){define(['jquery'], factory);} else if (typeof module === 'object' && typeof module.exports === 'object'){module.exports = factory(require('jquery'));} else {factory(jQuery);}}(function(jQuery){
|
||||
/*! Parser: filetype - updated 11/10/2015 (v2.24.4) */
|
||||
!function(n){"use strict";n.tablesorter.fileTypes={separator:"|",equivalents:{"3D Image":"3dm|3ds|dwg|max|obj",Audio:"aif|aac|ape|flac|la|m4a|mid|midi|mp2|mp3|ogg|ra|raw|rm|wav|wma",Compressed:"7z|bin|cab|cbr|gz|gzip|iso|lha|lz|rar|tar|tgz|zip|zipx|zoo",Database:"csv|dat|db|dbf|json|ldb|mdb|myd|pdb|sql|tsv|wdb|wmdb|xlr|xls|xlsx|xml",Development:"asm|c|class|cls|cpp|cc|cs|cxx|cbp|cs|dba|fla|h|java|lua|pl|py|pyc|pyo|sh|sln|r|rb|vb",Document:"doc|docx|odt|ott|pages|pdf|rtf|tex|wpd|wps|wrd|wri",Executable:"apk|app|com|exe|gadget|lnk|msi",Fonts:"eot|fnt|fon|otf|ttf|woff",Icons:"ani|cur|icns|ico",Images:"bmp|gif|jpg|jpeg|jpe|jp2|pic|png|psd|tga|tif|tiff|wmf|webp",Presentation:"pps|ppt",Published:"chp|epub|lit|pub|ppp|fm|mobi",Script:"as|bat|cgi|cmd|jar|js|lua|scpt|scptd|sh|vbs|vb|wsf",Styles:"css|less|sass",Text:"info|log|md|markdown|nfo|tex|text|txt",Vectors:"awg|ai|eps|cdr|ps|svg",Video:"asf|avi|flv|m4v|mkv|mov|mp4|mpe|mpeg|mpg|ogg|rm|rv|swf|vob|wmv",Web:"asp|aspx|cer|cfm|htm|html|php|url|xhtml"}},n.tablesorter.addParser({id:"filetype",is:function(){return!1},format:function(t,e){var s,a=e.config.widgetOptions,p=a.group_separator||"-",r=t.lastIndexOf("."),i=n.tablesorter.fileTypes.separator,e=n.tablesorter.fileTypes.matching,o=n.tablesorter.fileTypes.equivalents;if(e||(s=[],n.each(o,function(t,e){s.push(e)}),e=n.tablesorter.fileTypes.matching=i+s.join(i)+i),0<=r&&(s=i+t.substring(r+1,t.length)+i,0<=e.indexOf(s)))for(r in o)if(0<=(i+o[r]+i).indexOf(s))return r+("/"!==p.toString().charAt(0)?a.group_separator:"-")+t;return t},type:"text"}),n.tablesorter.addParser({id:"file-extension",is:function(){return!1},format:function(t){var e,s=t.split(".");return s.length?(e=s.pop(),s.unshift(e),s.join(".")):t},type:"text"})}(jQuery);return jQuery;}));
|
||||
6
modules/pdproductattributeslist/views/js/parsers/parser-globalize.min.js
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
(function(factory){if (typeof define === 'function' && define.amd){define(['jquery'], factory);} else if (typeof module === 'object' && typeof module.exports === 'object'){module.exports = factory(require('jquery'));} else {factory(jQuery);}}(function(jQuery){
|
||||
/*! Parser: jQuery Globalize - updated 11/2/2015 (v2.24.1) */
|
||||
!function(t){"use strict";
|
||||
/*! jQuery Globalize date parser (https://github.com/jquery/globalize#date-module) */t.tablesorter.addParser({id:"globalize-date",is:function(){return!1},format:function(e,l,a,o){var r,l=l.config,o=l.globalize&&(l.globalize[o]||l.globalize)||{};return Globalize&&(r="object"==typeof o.Globalize?o.Globalize:Globalize(o.lang||"en"),o.Globalize||(o.Globalize=r)),(l=r&&r.dateParser?r.dateParser(o)(e):e&&new Date(e))instanceof Date&&isFinite(l)?l.getTime():e},type:"numeric"}),
|
||||
/*! jQuery Globalize number parser (https://github.com/jquery/globalize#number-module) */
|
||||
t.tablesorter.addParser({id:"globalize-number",is:function(){return!1},format:function(e,l,a,o){var r,i=l.config,o=i.globalize&&(i.globalize[o]||i.globalize)||{};return Globalize&&(r="object"==typeof o.Globalize?o.Globalize:Globalize(o.lang||"en"),o.Globalize||(o.Globalize=r)),i=r&&r.numberParser?r.numberParser(o)(e):e&&t.tablesorter.formatFloat((e||"").replace(/[^\w,. \-()]/g,""),l),e&&"number"==typeof i?i:e},type:"numeric"})}(jQuery);return jQuery;}));
|
||||
3
modules/pdproductattributeslist/views/js/parsers/parser-huge-numbers.min.js
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
(function(factory){if (typeof define === 'function' && define.amd){define(['jquery'], factory);} else if (typeof module === 'object' && typeof module.exports === 'object'){module.exports = factory(require('jquery'));} else {factory(jQuery);}}(function(jQuery){
|
||||
/*! Parser: hugeNumbers - updated 3/1/2016 (v2.25.5) */
|
||||
!function(){"use strict";jQuery.tablesorter.addParser({id:"hugeNumbers",is:function(){return!1},format:function(e){return e.replace(/\B(?=(\d{12})+(?!\d))/g,",")},type:"text"})}();return jQuery;}));
|
||||
3
modules/pdproductattributeslist/views/js/parsers/parser-ignore-articles.min.js
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
(function(factory){if (typeof define === 'function' && define.amd){define(['jquery'], factory);} else if (typeof module === 'object' && typeof module.exports === 'object'){module.exports = factory(require('jquery'));} else {factory(jQuery);}}(function(jQuery){
|
||||
/*! Parser: ignoreArticles - updated 9/15/2014 (v2.17.8) */
|
||||
!function(l){"use strict";var d=l.tablesorter;d.ignoreArticles={en:"the, a, an",de:"der, die, das, des, dem, den, ein, eine, einer, eines, einem, einen",nl:"de, het, de, een",es:"el, la, lo, los, las, un, una, unos, unas",pt:"o, a, os, as, um, uma, uns, umas",fr:"le, la, l'_, les, un, une, des",it:"il, lo, la, l'_, i, gli, le, un', uno, una, un",hu:"a, az, egy"},d.addParser({id:"ignoreArticles",is:function(){return!1},format:function(e,r,s,a){var n,i,t=r.config,e=e||"";return t.headers&&t.headers[a]&&t.headers[a].ignoreArticlesRegex||(t.headers||(t.headers={}),t.headers[a]||(t.headers[a]={}),i=d.getData(t.$headers.eq(a),d.getColumnData(r,t.headers,a),"ignoreArticles"),i=(d.ignoreArticles[i]||"the, a, an")+"",t.headers[a].ignoreArticlesRegex=new RegExp("^("+l.trim(i.split(/\s*\,\s*/).join("\\s|")+"\\s").replace("_\\s","")+")","i"),n=d.getData(t.$headers.eq(a),d.getColumnData(r,t.headers,a),"ignoreArticlesExcept"),t.headers[a].ignoreArticlesRegex2=""!==n?new RegExp("^("+n.replace(/\s/g,"\\s")+")","i"):""),!(i=t.headers[a].ignoreArticlesRegex).test(e)||(n=t.headers[a].ignoreArticlesRegex2)&&n.test(e)?e:e.replace(i,"")},type:"text"})}(jQuery);return jQuery;}));
|
||||
3
modules/pdproductattributeslist/views/js/parsers/parser-image.min.js
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
(function(factory){if (typeof define === 'function' && define.amd){define(['jquery'], factory);} else if (typeof module === 'object' && typeof module.exports === 'object'){module.exports = factory(require('jquery'));} else {factory(jQuery);}}(function(jQuery){
|
||||
/*! Parser: image - new 7/17/2014 (v2.17.5) */
|
||||
!function(i){"use strict";i.tablesorter.addParser({id:"image",is:function(){return!1},format:function(t,r,e){return i(e).find("img").attr(r.config.imgAttr||"alt")||t},parsed:!0,type:"text"})}(jQuery);return jQuery;}));
|
||||
3
modules/pdproductattributeslist/views/js/parsers/parser-input-select.min.js
vendored
Normal file
3
modules/pdproductattributeslist/views/js/parsers/parser-leading-zeros.min.js
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
(function(factory){if (typeof define === 'function' && define.amd){define(['jquery'], factory);} else if (typeof module === 'object' && typeof module.exports === 'object'){module.exports = factory(require('jquery'));} else {factory(jQuery);}}(function(jQuery){
|
||||
/*! Parser: leading zeros - updated 4/2/2017 (v2.28.6) */
|
||||
!function(){"use strict";var a=jQuery.tablesorter;a.addParser({id:"leadingZeros",is:function(){return!1},format:function(e,t){var r=(e||"").replace(a.regex.nondigit,""),t=a.formatFloat(r,t),n=t.toString();return isNaN(t)||t!=r||r.length===n.length||(t-=1e-10*(e.length-n.length)),t},type:"number"})}();return jQuery;}));
|
||||
3
modules/pdproductattributeslist/views/js/parsers/parser-metric.min.js
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
(function(factory){if (typeof define === 'function' && define.amd){define(['jquery'], factory);} else if (typeof module === 'object' && typeof module.exports === 'object'){module.exports = factory(require('jquery'));} else {factory(jQuery);}}(function(jQuery){
|
||||
/*! Parser: metric */
|
||||
!function(d){"use strict";var s={"Y|Yotta|yotta":[1e24,Math.pow(1024,8)],"Z|Zetta|zetta":[1e21,Math.pow(1024,7)],"E|Exa|exa":[1e18,Math.pow(1024,6)],"P|Peta|peta":[1e15,Math.pow(1024,5)],"T|Tera|tera":[1e12,Math.pow(1024,4)],"G|Giga|giga":[1e9,Math.pow(1024,3)],"M|Mega|mega":[1e6,Math.pow(1024,2)],"k|Kilo|kilo":[1e3,1024],"h|hecto":[100,100],"da|deka":[10,10],"d|deci":[.1,.1],"c|centi":[.01,.01],"m|milli":[.001,.001],"µ|micro":[1e-6,1e-6],"n|nano":[1e-9,1e-9],"p|pico":[1e-12,1e-12],"f|femto":[1e-15,1e-15],"a|atto":[1e-18,1e-18],"z|zepto":[1e-21,1e-21],"y|yocto":[1e-24,1e-24]},h=/^[b|bit|byte|o|octet]/i;d.tablesorter.addParser({id:"metric",is:function(){return!1},format:function(e,t,a,o){var r,i,c,n,m="m|meter",p=d.tablesorter.formatFloat(e.replace(/[^\w,. \-()]/g,""),t),t=t.config.$headerIndexed[o],o=t.data("metric");if(o||(r=(t.attr("data-metric-name")||m).split("|"),c=t.attr("data-metric-name-full")||"",n=t.attr("data-metric-name-abbr")||"",o=[c||r[1]||r[0].substring(1),n||r[0]],i=h.test(o.join("")),o[2]=new RegExp("(\\d+)(\\s+)?([Zz]etta|[Ee]xa|[Pp]eta|[Tt]era|[Gg]iga|[Mm]ega|kilo|hecto|deka|deci|centi|milli|micro|nano|pico|femto|atto|zepto|yocto)("+((""===c?"":c+"|"+n)||(i?o[0].toLowerCase()+"|"+o[0].toUpperCase():o[0])+"|"+(i?o[1].toLowerCase()+"|"+o[1].toUpperCase():o[1]))+")"),o[3]=new RegExp("(\\d+)(\\s+)?(Z|E|P|T|G|M|k|h|da|d|c|m|µ|n|p|f|a|z|y)("+(n||(i?o[1].toLowerCase()+"|"+o[1].toUpperCase():o[1]))+")"),t.data("metric",o)),r=e.match(o[2])||e.match(o[3]))for(m in s)if(r[3].match(m))return i=h.test(r[4])?1:0,p*s[m][i];return p},type:"numeric"})}(jQuery);return jQuery;}));
|
||||