Skip to content
This repository has been archived by the owner on Apr 24, 2023. It is now read-only.

Commit

Permalink
v1.3.0
Browse files Browse the repository at this point in the history
  • Loading branch information
AlekVolsk committed Jul 1, 2021
1 parent eb4768a commit 834d51c
Show file tree
Hide file tree
Showing 14 changed files with 187 additions and 126 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# UIkit 3 Tabs

![Version](https://img.shields.io/badge/VERSION-1.2.0-0366d6.svg?style=for-the-badge)
![Version](https://img.shields.io/badge/VERSION-1.3.0-0366d6.svg?style=for-the-badge)
![Joomla](https://img.shields.io/badge/joomla-3.7+-1A3867.svg?style=for-the-badge)
![Php](https://img.shields.io/badge/php-5.6+-8892BF.svg?style=for-the-badge)

Expand Down
2 changes: 1 addition & 1 deletion README.ru.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# UIkit 3 Tabs

![Version](https://img.shields.io/badge/VERSION-1.2.0-0366d6.svg?style=for-the-badge)
![Version](https://img.shields.io/badge/VERSION-1.3.0-0366d6.svg?style=for-the-badge)
![Joomla](https://img.shields.io/badge/joomla-3.7+-1A3867.svg?style=for-the-badge)
![Php](https://img.shields.io/badge/php-5.6+-8892BF.svg?style=for-the-badge)

Expand Down
46 changes: 46 additions & 0 deletions assets/moduktabs.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
/**
* @package Joomla.Plugin
* @subpackage Content.uk3tabs
* @copyright Copyright (C) Aleksey A. Morozov. All rights reserved.
* @license GNU General Public License version 3 or later; see http://www.gnu.org/licenses/gpl-3.0.txt
*/

document.addEventListener('DOMContentLoaded', function () {

function modUkTabs_showTab()
{
let anchor = window.location.hash.replace('#', '');
let tab = document.getElementById(anchor);
if (tab && tab.parentElement.classList.contains('mod_uk_tabs') == true) {
if (tab.classList.contains('uk-open')) {
return;
}
const index = (Array.prototype.slice.call(tab.parentElement.childNodes).indexOf(tab) + 1) / 2 - 1;
UIkit.tab(tab.parentElement).show(index);
}
}

document.body.onclick = function(event) {
setTimeout(() => {
let anchor = window.location.hash.replace('#', '');
let tab = document.getElementById(anchor);
if (tab && tab.parentElement.classList.contains('mod_uk_tabs')) {
if (event.target.parentElement.parentElement == tab.parentElement) {
return;
}
event.preventDefault();
const index = (Array.prototype.slice.call(tab.parentElement.childNodes).indexOf(tab) + 1) / 2 - 1;
UIkit.tab(tab.parentElement).show(index);
}
}, 100);
};

window.addEventListener('hashchange', function() {
setTimeout(() => {
modUkTabs_showTab();
}, 100);
})

modUkTabs_showTab();

});
Original file line number Diff line number Diff line change
@@ -1,40 +1,40 @@
; @package mod_uk_tabs
; @copyright Copyright (C) 2019 Aleksey A. Morozov (AlekVolsk). All rights reserved.
; @license GNU General Public License version 3 or later; see http://www.gnu.org/licenses/gpl-3.0.txt

MOD_UK_TABS="UIkit 3 Tabs"
MOD_UK_TABS_XML_DESCRIPTION="Content tabs based on the UIkit 3 framework<br><strong>Warning!</strong> The module does not contain scripts and framework styles, connect them yourself in your template (it is assumed that your template is already based on this framework).<br><br>"

MOD_UK_TABS_CLASS="General tabs class"
MOD_UK_TABS_TITLE_CLASS="Title class (general for each element)"
MOD_UK_TABS_TITLE_TYPE="Title content"
MOD_UK_TABS_TITLE_TYPE_1="Text only"
MOD_UK_TABS_TITLE_TYPE_2="Image only"
MOD_UK_TABS_TITLE_TYPE_3="Image + text"
MOD_UK_TABS_TITLE_TYPE_DESC="What will be displayed in the title. If the image is not specified, but the selected option is «Image only», the text is displayed."
MOD_UK_TABS_TITLE_IMG_WIDTH="Width title image, px"
MOD_UK_TABS_POSITION="Tabs position"
MOD_UK_TABS_POSITION_TOP="Top"
MOD_UK_TABS_POSITION_BOTTOM="Bottom"
MOD_UK_TABS_POSITION_LEFT="Left"
MOD_UK_TABS_POSITION_RIGHT="Right"
MOD_UK_TABS_ALIGNMENT="Tabs alignment"
MOD_UK_TABS_ALIGN_LEFT="Left (top for vertical positioning)"
MOD_UK_TABS_ALIGN_RIGHT="Right (bottom for vertical positioning)"
MOD_UK_TABS_ALIGN_CENTER="Center"
MOD_UK_TABS_ALIGN_JUSTYFY="Justify"
MOD_UK_TABS_ALIGN_WIDTH="Full width (only for horizontal positioning)"
MOD_UK_TABS_ACTIVE="Index of the element to open initially"
MOD_UK_TABS_ACTIVE_DESC="Count of elements starts with 0."
MOD_UK_TABS_CONTENT_CLASS="Content class (general for each element)"
MOD_UK_TABS_SWIPING="Swiping"
MOD_UK_TABS_SWIPING_DESC="Swiping content on devices that support touch-control."
MOD_UK_TABS_MEDIA="Mobile mode"
MOD_UK_TABS_MEDIA_DESC="The width of the screen at which the mobile tab mode will be activated. Specified in pixels or by a special UIkit suffix: @s, @m, @l."

COM_MODULES_ELS_FIELDSET_LABEL="Elements"
MOD_UK_TABS_FORM_TITLE="Title"
MOD_UK_TABS_FORM_TITLE_IMAGE="Title image"
MOD_UK_TABS_FORM_CONTENT="Content"
MOD_UK_TABS_FORM_TITLE_CLASS="Additional title class"
MOD_UK_TABS_FORM_CONTENT_CLASS="Additional content class"
; @package mod_uk_tabs
; @copyright Copyright (C) Aleksey A. Morozov (AlekVolsk). All rights reserved.
; @license GNU General Public License version 3 or later; see http://www.gnu.org/licenses/gpl-3.0.txt

MOD_UK_TABS="UIkit 3 Tabs"
MOD_UK_TABS_XML_DESCRIPTION="Content tabs based on the UIkit 3 framework<br><strong>Warning!</strong> The module does not contain scripts and framework styles, connect them yourself in your template (it is assumed that your template is already based on this framework).<br><br>"

MOD_UK_TABS_CLASS="General tabs class"
MOD_UK_TABS_TITLE_CLASS="Title class (general for each element)"
MOD_UK_TABS_TITLE_TYPE="Title content"
MOD_UK_TABS_TITLE_TYPE_1="Text only"
MOD_UK_TABS_TITLE_TYPE_2="Image only"
MOD_UK_TABS_TITLE_TYPE_3="Image + text"
MOD_UK_TABS_TITLE_TYPE_DESC="What will be displayed in the title. If the image is not specified, but the selected option is «Image only», the text is displayed."
MOD_UK_TABS_TITLE_IMG_WIDTH="Width title image, px"
MOD_UK_TABS_POSITION="Tabs position"
MOD_UK_TABS_POSITION_TOP="Top"
MOD_UK_TABS_POSITION_BOTTOM="Bottom"
MOD_UK_TABS_POSITION_LEFT="Left"
MOD_UK_TABS_POSITION_RIGHT="Right"
MOD_UK_TABS_ALIGNMENT="Tabs alignment"
MOD_UK_TABS_ALIGN_LEFT="Left (top for vertical positioning)"
MOD_UK_TABS_ALIGN_RIGHT="Right (bottom for vertical positioning)"
MOD_UK_TABS_ALIGN_CENTER="Center"
MOD_UK_TABS_ALIGN_JUSTYFY="Justify"
MOD_UK_TABS_ALIGN_WIDTH="Full width (only for horizontal positioning)"
MOD_UK_TABS_ACTIVE="Index of the element to open initially"
MOD_UK_TABS_ACTIVE_DESC="Count of elements starts with 0."
MOD_UK_TABS_CONTENT_CLASS="Content class (general for each element)"
MOD_UK_TABS_SWIPING="Swiping"
MOD_UK_TABS_SWIPING_DESC="Swiping content on devices that support touch-control."
MOD_UK_TABS_MEDIA="Mobile mode"
MOD_UK_TABS_MEDIA_DESC="The width of the screen at which the mobile tab mode will be activated. Specified in pixels or by a special UIkit suffix: @s, @m, @l."

COM_MODULES_ELS_FIELDSET_LABEL="Elements"
MOD_UK_TABS_FORM_TITLE="Title"
MOD_UK_TABS_FORM_TITLE_IMAGE="Title image"
MOD_UK_TABS_FORM_CONTENT="Content"
MOD_UK_TABS_FORM_TITLE_CLASS="Additional title class"
MOD_UK_TABS_FORM_CONTENT_CLASS="Additional content class"
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
; @package mod_uk_tabs
; @copyright Copyright (C) 2019 Aleksey A. Morozov (AlekVolsk). All rights reserved.
; @license GNU General Public License version 3 or later; see http://www.gnu.org/licenses/gpl-3.0.txt

MOD_UK_TABS="UIkit 3 Tabs"
MOD_UK_TABS_XML_DESCRIPTION="Content tabs based on the UIkit 3 framework<br><strong>Warning!</strong> The module does not contain scripts and framework styles, connect them yourself in your template (it is assumed that your template is already based on this framework).<br><br>"
; @package mod_uk_tabs
; @copyright Copyright (C) Aleksey A. Morozov (AlekVolsk). All rights reserved.
; @license GNU General Public License version 3 or later; see http://www.gnu.org/licenses/gpl-3.0.txt

MOD_UK_TABS="UIkit 3 Tabs"
MOD_UK_TABS_XML_DESCRIPTION="Content tabs based on the UIkit 3 framework<br><strong>Warning!</strong> The module does not contain scripts and framework styles, connect them yourself in your template (it is assumed that your template is already based on this framework).<br><br>"
Original file line number Diff line number Diff line change
@@ -1,40 +1,40 @@
; @package mod_uk_tabs
; @copyright Copyright (C) 2019 Aleksey A. Morozov (AlekVolsk). All rights reserved.
; @license GNU General Public License version 3 or later; see http://www.gnu.org/licenses/gpl-3.0.txt

MOD_UK_TABS="UIkit 3 Tabs"
MOD_UK_TABS_XML_DESCRIPTION="Табы контента, основанные на фреймворке UIkit 3<br><strong>Внимание!</strong> Модуль не содержит скриптов и стилей фреймворка, подключите их самостоятельно в вашем шаблоне (подразумевается, что ваш шаблон уже основан на данном фреймворке).<br><br>"

MOD_UK_TABS_CLASS="Общий класс табов"
MOD_UK_TABS_TITLE_CLASS="Класс заголовка (общий для каждого элемента)"
MOD_UK_TABS_TITLE_TYPE="Контент заголовка"
MOD_UK_TABS_TITLE_TYPE_1="Только текст"
MOD_UK_TABS_TITLE_TYPE_2="Только изображение"
MOD_UK_TABS_TITLE_TYPE_3="Изображение + текст"
MOD_UK_TABS_TITLE_TYPE_DESC="Что будет выведено в заголовке. Если изображение не указано, но выбрана опция «Только изображение», будет выведен текст."
MOD_UK_TABS_TITLE_IMG_WIDTH="Ширина изображения в заголовке, px"
MOD_UK_TABS_POSITION="Позиция табов"
MOD_UK_TABS_POSITION_TOP="Сверху"
MOD_UK_TABS_POSITION_BOTTOM="Снизу"
MOD_UK_TABS_POSITION_LEFT="Слева"
MOD_UK_TABS_POSITION_RIGHT="Справа"
MOD_UK_TABS_ALIGNMENT="Выравнивание табов"
MOD_UK_TABS_ALIGN_LEFT="Слева (сверху для вертикального позиционирования)"
MOD_UK_TABS_ALIGN_RIGHT="Справа (снизу для вертикального позиционирования)"
MOD_UK_TABS_ALIGN_CENTER="По центру"
MOD_UK_TABS_ALIGN_JUSTYFY="По ширине"
MOD_UK_TABS_ALIGN_WIDTH="По ширине с заполнением (только для горизонтального позиционирования)"
MOD_UK_TABS_ACTIVE="Номер элемента, открытого по умолчанию"
MOD_UK_TABS_ACTIVE_DESC="Отсчет элементов начинается с 0."
MOD_UK_TABS_CONTENT_CLASS="Класс контента (общий для каждого элемента)"
MOD_UK_TABS_SWIPING="Пролистывание"
MOD_UK_TABS_SWIPING_DESC="Пролистывание контента на устройствах с поддержкой touch-управления"
MOD_UK_TABS_MEDIA="Мобильный режим"
MOD_UK_TABS_MEDIA_DESC="Ширина экрана, при которой будет активирован мобильный режим табов. Указывается в пикселях либо специальным UIkit-суффиксом: @s, @m, @l."

COM_MODULES_ELS_FIELDSET_LABEL="Элементы"
MOD_UK_TABS_FORM_TITLE="Заголовок"
MOD_UK_TABS_FORM_TITLE_IMAGE="Изображение для заголовка"
MOD_UK_TABS_FORM_CONTENT="Контент"
MOD_UK_TABS_FORM_TITLE_CLASS="Дополнительный класс заголовка"
MOD_UK_TABS_FORM_CONTENT_CLASS="Дополнительный класс блока контента"
; @package mod_uk_tabs
; @copyright Copyright (C) Aleksey A. Morozov (AlekVolsk). All rights reserved.
; @license GNU General Public License version 3 or later; see http://www.gnu.org/licenses/gpl-3.0.txt

MOD_UK_TABS="UIkit 3 Tabs"
MOD_UK_TABS_XML_DESCRIPTION="Табы контента, основанные на фреймворке UIkit 3<br><strong>Внимание!</strong> Модуль не содержит скриптов и стилей фреймворка, подключите их самостоятельно в вашем шаблоне (подразумевается, что ваш шаблон уже основан на данном фреймворке).<br><br>"

MOD_UK_TABS_CLASS="Общий класс табов"
MOD_UK_TABS_TITLE_CLASS="Класс заголовка (общий для каждого элемента)"
MOD_UK_TABS_TITLE_TYPE="Контент заголовка"
MOD_UK_TABS_TITLE_TYPE_1="Только текст"
MOD_UK_TABS_TITLE_TYPE_2="Только изображение"
MOD_UK_TABS_TITLE_TYPE_3="Изображение + текст"
MOD_UK_TABS_TITLE_TYPE_DESC="Что будет выведено в заголовке. Если изображение не указано, но выбрана опция «Только изображение», будет выведен текст."
MOD_UK_TABS_TITLE_IMG_WIDTH="Ширина изображения в заголовке, px"
MOD_UK_TABS_POSITION="Позиция табов"
MOD_UK_TABS_POSITION_TOP="Сверху"
MOD_UK_TABS_POSITION_BOTTOM="Снизу"
MOD_UK_TABS_POSITION_LEFT="Слева"
MOD_UK_TABS_POSITION_RIGHT="Справа"
MOD_UK_TABS_ALIGNMENT="Выравнивание табов"
MOD_UK_TABS_ALIGN_LEFT="Слева (сверху для вертикального позиционирования)"
MOD_UK_TABS_ALIGN_RIGHT="Справа (снизу для вертикального позиционирования)"
MOD_UK_TABS_ALIGN_CENTER="По центру"
MOD_UK_TABS_ALIGN_JUSTYFY="По ширине"
MOD_UK_TABS_ALIGN_WIDTH="По ширине с заполнением (только для горизонтального позиционирования)"
MOD_UK_TABS_ACTIVE="Номер элемента, открытого по умолчанию"
MOD_UK_TABS_ACTIVE_DESC="Отсчет элементов начинается с 0."
MOD_UK_TABS_CONTENT_CLASS="Класс контента (общий для каждого элемента)"
MOD_UK_TABS_SWIPING="Пролистывание"
MOD_UK_TABS_SWIPING_DESC="Пролистывание контента на устройствах с поддержкой touch-управления"
MOD_UK_TABS_MEDIA="Мобильный режим"
MOD_UK_TABS_MEDIA_DESC="Ширина экрана, при которой будет активирован мобильный режим табов. Указывается в пикселях либо специальным UIkit-суффиксом: @s, @m, @l."

COM_MODULES_ELS_FIELDSET_LABEL="Элементы"
MOD_UK_TABS_FORM_TITLE="Заголовок"
MOD_UK_TABS_FORM_TITLE_IMAGE="Изображение для заголовка"
MOD_UK_TABS_FORM_CONTENT="Контент"
MOD_UK_TABS_FORM_TITLE_CLASS="Дополнительный класс заголовка"
MOD_UK_TABS_FORM_CONTENT_CLASS="Дополнительный класс блока контента"
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
; @package mod_uk_tabs
; @copyright Copyright (C) 2019 Aleksey A. Morozov (AlekVolsk). All rights reserved.
; @license GNU General Public License version 3 or later; see http://www.gnu.org/licenses/gpl-3.0.txt

MOD_UK_TABS="UIkit 3 Tabs"
MOD_UK_TABS_XML_DESCRIPTION="Табы контента, основанные на фреймворке UIkit 3<br><strong>Внимание!</strong> Модуль не содержит скриптов и стилей фреймворка, подключите их самостоятельно в вашем шаблоне (подразумевается, что ваш шаблон уже основан на данном фреймворке).<br><br>"
; @package mod_uk_tabs
; @copyright Copyright (C) Aleksey A. Morozov (AlekVolsk). All rights reserved.
; @license GNU General Public License version 3 or later; see http://www.gnu.org/licenses/gpl-3.0.txt

MOD_UK_TABS="UIkit 3 Tabs"
MOD_UK_TABS_XML_DESCRIPTION="Табы контента, основанные на фреймворке UIkit 3<br><strong>Внимание!</strong> Модуль не содержит скриптов и стилей фреймворка, подключите их самостоятельно в вашем шаблоне (подразумевается, что ваш шаблон уже основан на данном фреймворке).<br><br>"
4 changes: 3 additions & 1 deletion mod_uk_tabs.php
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
<?php defined('_JEXEC') or die;
/*
* @package mod_uk_tabs
* @copyright Copyright (C) 2019 Aleksey A. Morozov (AlekVolsk). All rights reserved.
* @copyright Copyright (C) Aleksey A. Morozov (AlekVolsk). All rights reserved.
* @license GNU General Public License version 3 or later; see http://www.gnu.org/licenses/gpl-3.0.txt
*/

use Joomla\CMS\Factory;
use Joomla\CMS\Helper\ModuleHelper;

$vars = [
Expand Down Expand Up @@ -57,5 +58,6 @@
$content_class = trim($content_class) ? ' ' . trim($content_class) : '';

if ($items) {
Factory::getDocument()->addScript('/modules/mod_uk_tabs/assets/moduktabs.js');
require(ModuleHelper::getLayoutPath('mod_uk_tabs', $params->get('layout', 'default')));
}
21 changes: 11 additions & 10 deletions mod_uk_tabs.xml
Original file line number Diff line number Diff line change
@@ -1,26 +1,27 @@
<?xml version="1.0"?>
<extension type="module" version="3.7" method="upgrade" client="site">
<name>UIkit 3 Tabs</name>
<author>Aleksey A. Morozov (AlekVolsk)</author>
<copyright>(C) 2019 Aleksey A. Morozov. All rights reserved.</copyright>
<license>GNU General Public License version 3 or later; see http://www.gnu.org/licenses/gpl-3.0.txt</license>
<version>1.2.0</version>
<creationDate>February 2019</creationDate>
<author>Aleksey A. Morozov (AlekVolsk)</author>
<copyright>(C) Aleksey A. Morozov. All rights reserved.</copyright>
<license>GNU General Public License version 3 or later; see http://www.gnu.org/licenses/gpl-3.0.txt</license>
<version>1.3.0</version>
<creationDate>July 2021</creationDate>
<description><![CDATA[MOD_UK_TABS_XML_DESCRIPTION]]></description>
<files>
<filename module="mod_uk_tabs">mod_uk_tabs.php</filename>
<folder>assets</folder>
<folder>forms</folder>
<folder>tmpl</folder>
</files>
<languages folder="languages">
<languages folder="language">
<language tag="en-GB">en-GB/en-GB.mod_uk_tabs.ini</language>
<language tag="en-GB">en-GB/en-GB.mod_uk_tabs.sys.ini</language>
<language tag="ru-RU">ru-RU/ru-RU.mod_uk_tabs.ini</language>
<language tag="ru-RU">ru-RU/ru-RU.mod_uk_tabs.sys.ini</language>
</languages>
<config>
<fields name="params">

<fieldset name="basic">
<field name="tabs_class" type="text" label="MOD_UK_TABS_CLASS" class="input-xlarge" />
<field name="title_class" type="text" label="MOD_UK_TABS_TITLE_CLASS" class="input-xlarge" />
Expand Down Expand Up @@ -51,11 +52,11 @@
</field>
<field name="media" type="text" label="MOD_UK_TABS_MEDIA" description="MOD_UK_TABS_MEDIA_DESC" default="@s" class="input-xlarge" />
</fieldset>

<fieldset name="els">
<field name="items" type="subform" label="COM_MODULES_ELS_FIELDSET_LABEL" formsource="/modules/mod_uk_tabs/forms/form.xml" multiple="true" min="0" layout="joomla.form.field.subform.repeatable" />
</fieldset>

<fieldset name="advanced">
<field name="layout" type="modulelayout" label="JFIELD_ALT_LAYOUT_LABEL" description="JFIELD_ALT_MODULE_LAYOUT_DESC"/>
<field name="cache" type="list" label="COM_MODULES_FIELD_CACHING_LABEL" description="COM_MODULES_FIELD_CACHING_DESC" default="1">
Expand All @@ -66,4 +67,4 @@

</fields>
</config>
</extension>
</extension>
2 changes: 1 addition & 1 deletion tmpl/default.php
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?php defined('_JEXEC') or die;
/*
* @package mod_uk_tabs
* @copyright Copyright (C) 2019 Aleksey A. Morozov (AlekVolsk). All rights reserved.
* @copyright Copyright (C) Aleksey A. Morozov (AlekVolsk). All rights reserved.
* @license GNU General Public License version 3 or later; see http://www.gnu.org/licenses/gpl-3.0.txt
*/

Expand Down
Loading

0 comments on commit 834d51c

Please sign in to comment.