diff --git a/deployed/mod_jux_timeline/modules/mod_jux_timeline/assets/css/index.html b/deployed/mod_jux_timeline/modules/mod_jux_timeline/assets/css/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/deployed/mod_jux_timeline/modules/mod_jux_timeline/assets/css/index.html @@ -0,0 +1 @@ +
\ No newline at end of file diff --git a/deployed/mod_jux_timeline/modules/mod_jux_timeline/assets/css/style.css b/deployed/mod_jux_timeline/modules/mod_jux_timeline/assets/css/style.css new file mode 100644 index 00000000..049d0211 --- /dev/null +++ b/deployed/mod_jux_timeline/modules/mod_jux_timeline/assets/css/style.css @@ -0,0 +1,219 @@ +/** + * @version $Id$ + * @author JoomlaUX + * @package Joomla.Site + * @subpackage mod_jux_timeline + * @copyright Copyright (C) 2013 JoomlaUX. All rights reserved. + * @license License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php +*/ + +@charset "UTF-8"; + + +.clearfix:after { + content: ""; + display: table; + line-height: 0; +} +.clearfix:after { + clear: both; +} + +.jux-tl { +} +.jux-tl-wrap { + position: relative; + background: url("../images/line.png") repeat-y scroll center center transparent; +} +.jux-tl-line { + background: url("../images/line.png") repeat-y scroll 0 0 transparent; + height: 100%; + left: 50%; + position: absolute; + transform: translate(-50%); + width:3px; +} +.jux-tl-item { + margin-bottom: 20px; + position: relative; + width: 50%; +} +.jux-tl-item.right{ + float: right; +} +.jux-tl-item.left { + float: left; +} +.jux-tl-control{ + background: url("../images/plus.png") no-repeat scroll 0 0 transparent; + display: block; + height: 23px; + position: absolute; + top: 20px; + width: 23px; + cursor: pointer; +} +.jux-tl-item.right .jux-tl-control{ + left: -12px; +} +.jux-tl-item.left .jux-tl-control{ + right: -12px; +} +.jux-tl-item.selected .jux-tl-control{ + background: url("../images/minus.png") no-repeat scroll 0 0 transparent; +} + +.jux-tl-item .jux-tl-time { + color: #797979; + font-size: 14px; + font-weight: bold; + position: absolute; + top: 20px; + min-height: 23px; + min-width: 230px; + cursor: pointer; +} +.jux-tl-item.right .jux-tl-time { + margin: 0 30px 0 0; + right: 100%; + text-align: right; +} +.jux-tl-item.left .jux-tl-time { + left: 100%; + margin-left: 30px; + text-align: left; +} + +.jux-tl-info { + background: none repeat scroll 0 0 #5C5C5C; + border-radius: 8px 8px 8px 8px; + padding: 25px 40px; + position: relative; +} +.jux-tl-item.left .jux-tl-info{ + margin-right: 30px; +} +.jux-tl-item.right .jux-tl-info{ + margin-left: 30px; +} + +.jux-tl-info .arrow, +.jux-tl-info .arrow:after { + position: absolute; + display: inline-block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} +.jux-tl-info .arrow:after { + content: ""; + z-index: -1; +} + +.jux-tl-item.right .arrow { + top: 30px; + left: -10px; + margin-top: -10px; + border-width: 10px 10px 10px 0; + border-right-color: #5C5C5C; +} +.jux-tl-item.right .arrow:after { + border-width: 11px 11px 11px 0; + border-right-color: rgba(0, 0, 0, 0.25); + bottom: -11px; + left: -1px; +} + +.jux-tl-item.left .arrow { + top:30px; + right: -10px; + margin-top: -10px; + border-width: 10px 0 10px 10px; + border-left-color: #5C5C5C; +} +.jux-tl-item.left .arrow:after { + border-width: 11px 0 11px 11px; + border-left-color: rgba(0, 0, 0, 0.25); + bottom: -11px; + right: -1px; +} + +.jux-tl-item h2 a { + margin: 0; + color: #bfbfbf; + text-decoration: none; + transition: all 0.2s ease-in-out 0s; + -ms-transition: all 0.2s ease-in-out 0s; + -moz-transition: all 0.2s ease-in-out 0s; + -o-transition: all 0.2s ease-in-out 0s; + -webkit-transition: all 0.2s ease-in-out 0s; + +} +.jux-tl-item h2 a:hover{ + text-decoration: none; + color: #EDEAEA; +} +.jux-tl-item .jux-tl-desc { + display:none; + overflow: hidden; + color:#9b9b9b; +} +.jux-tl-item.selected .jux-tl-desc{ + +} + +@media (max-width: 767px){ + .jux-tl-item { + width: 100%; + } + .jux-tl-item.right, + .jux-tl-item.left{ + float: left; + } + .jux-tl-control{ + top: 0px + } + .jux-tl-item.left .jux-tl-control{ + right: 50%; + margin-right: -12px; + } + .jux-tl-item.right .jux-tl-control{ + left: 50%; + margin-left: -12px; + } + + .jux-tl-item.right .jux-tl-info, + .jux-tl-item.left .jux-tl-info{ + margin:40px 0 0 0; + } + + .jux-tl-item.left .arrow, + .jux-tl-item.right .arrow + { + border-bottom-color: #5C5C5C; + border-left-color: transparent; + border-right-color: transparent; + border-width: 0 10px 10px; + left: 50%; + margin-left: -10px; + margin-top: 0; + top: -10px; + } + .jux-tl-item.right .arrow:after, + .jux-tl-item.left .arrow:after{ + border-width: 0 11px 11px; + border-bottom-color: rgba(0, 0, 0, 0.25); + top: -1px; + left: -11px; + } + .jux-tl-item .jux-tl-time{ + top:0 + } + .jux-tl-item.left .jux-tl-time{ + left: 50%; + } + .jux-tl-item.right .jux-tl-time{ + right: 50%; + } +} \ No newline at end of file diff --git a/deployed/mod_jux_timeline/modules/mod_jux_timeline/assets/images/dot.png b/deployed/mod_jux_timeline/modules/mod_jux_timeline/assets/images/dot.png new file mode 100644 index 00000000..2fc52b9c Binary files /dev/null and b/deployed/mod_jux_timeline/modules/mod_jux_timeline/assets/images/dot.png differ diff --git a/deployed/mod_jux_timeline/modules/mod_jux_timeline/assets/images/index.html b/deployed/mod_jux_timeline/modules/mod_jux_timeline/assets/images/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/deployed/mod_jux_timeline/modules/mod_jux_timeline/assets/images/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/deployed/mod_jux_timeline/modules/mod_jux_timeline/assets/images/line.png b/deployed/mod_jux_timeline/modules/mod_jux_timeline/assets/images/line.png new file mode 100644 index 00000000..dd8a658b Binary files /dev/null and b/deployed/mod_jux_timeline/modules/mod_jux_timeline/assets/images/line.png differ diff --git a/deployed/mod_jux_timeline/modules/mod_jux_timeline/assets/images/minus.png b/deployed/mod_jux_timeline/modules/mod_jux_timeline/assets/images/minus.png new file mode 100644 index 00000000..a815b265 Binary files /dev/null and b/deployed/mod_jux_timeline/modules/mod_jux_timeline/assets/images/minus.png differ diff --git a/deployed/mod_jux_timeline/modules/mod_jux_timeline/assets/images/plus.png b/deployed/mod_jux_timeline/modules/mod_jux_timeline/assets/images/plus.png new file mode 100644 index 00000000..c5001208 Binary files /dev/null and b/deployed/mod_jux_timeline/modules/mod_jux_timeline/assets/images/plus.png differ diff --git a/deployed/mod_jux_timeline/modules/mod_jux_timeline/assets/index.html b/deployed/mod_jux_timeline/modules/mod_jux_timeline/assets/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/deployed/mod_jux_timeline/modules/mod_jux_timeline/assets/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/deployed/mod_jux_timeline/modules/mod_jux_timeline/assets/js/index.html b/deployed/mod_jux_timeline/modules/mod_jux_timeline/assets/js/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/deployed/mod_jux_timeline/modules/mod_jux_timeline/assets/js/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/deployed/mod_jux_timeline/modules/mod_jux_timeline/assets/js/script.js b/deployed/mod_jux_timeline/modules/mod_jux_timeline/assets/js/script.js new file mode 100644 index 00000000..b32d8063 --- /dev/null +++ b/deployed/mod_jux_timeline/modules/mod_jux_timeline/assets/js/script.js @@ -0,0 +1,31 @@ +/** + * @version $Id$ + * @author JoomlaUX + * @package Joomla.Site + * @subpackage mod_jux_timeline + * @copyright Copyright (C) 2013 JoomlaUX. All rights reserved. + * @license License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php + */ +!function($){ + "use strict"; + $.fn.juxtimeline = function(options){ + return this.each(function(){ + var $this = $(this), + controls = $this.find(".jux-tl-control,.jux-tl-time,.jux-tl-title"); + controls.click(function(){ + var that = $(this), + parent = that.closest(".jux-tl-item"); + if(parent.hasClass("selected")){ + parent.removeClass("selected").find(".jux-tl-desc").hide(400); + }else{ + var selected = $this.find(".selected"); + if(selected){ + selected.removeClass("selected").find(".jux-tl-desc").hide(400); + } + parent.addClass("selected").find(".jux-tl-desc").show(400); + } + return false; + }); + }); + } +}(window.jQuery); \ No newline at end of file diff --git a/deployed/mod_jux_timeline/modules/mod_jux_timeline/elements/assets/css/juxtimeline.css b/deployed/mod_jux_timeline/modules/mod_jux_timeline/elements/assets/css/juxtimeline.css new file mode 100644 index 00000000..e60bc04f --- /dev/null +++ b/deployed/mod_jux_timeline/modules/mod_jux_timeline/elements/assets/css/juxtimeline.css @@ -0,0 +1,15 @@ +/** + * @version $Id$ + * @author JoomlaUX + * @package Joomla.Site + * + * @copyright Copyright (C) 2013 JoomlaUX. All rights reserved. + * @license License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php + */ +.ntm-item{ + cursor: move; + position: relative; +} +#juxtimeline_remove{ + float: right; +} \ No newline at end of file diff --git a/deployed/mod_jux_timeline/modules/mod_jux_timeline/elements/assets/js/index.html b/deployed/mod_jux_timeline/modules/mod_jux_timeline/elements/assets/js/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/deployed/mod_jux_timeline/modules/mod_jux_timeline/elements/assets/js/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/deployed/mod_jux_timeline/modules/mod_jux_timeline/elements/assets/js/juxtimeline.js b/deployed/mod_jux_timeline/modules/mod_jux_timeline/elements/assets/js/juxtimeline.js new file mode 100644 index 00000000..832aa5e2 --- /dev/null +++ b/deployed/mod_jux_timeline/modules/mod_jux_timeline/elements/assets/js/juxtimeline.js @@ -0,0 +1,186 @@ +/** + * @version $Id$ + * @author JoomlaUX + * @package Joomla.Site + * + * @copyright Copyright (C) 2013 JoomlaUX. All rights reserved. + * @license License GNU General Public License version 2 or later; see LICENSE.txt, see LICENSE.php + */ +!function ($) { + "use strict"; + $.fn.juxtimeline = function(options){ + return this.each(function(){ + var $this = $(this), + container = null, + btn_add = null; + container = $('').insertAfter($this); + container.append(''); + container.append(''); + var main_wap = $(".ntm-items"); + btn_add = $("#juxtimeline_add"); + if($this.val() != ""){ + var items = $.parseJSON(htmlspecialchars_decode($this.val())); + $.each(items,function(key,item){ + main_wap.append(createTimeline(item.frame,item.title,item.description)); + $(".ntm-items").sortable(); + }); + } + btn_add.click(function(){ + main_wap.prepend(createTimeline()); + $(".ntm-items").sortable(); + }); + var form = document.adminForm; + if(!form){ + return false; + } + var onsubmit = form.onsubmit; + form.onsubmit = function(e){ + juxtimelineUpdate(); + if(jQuery.isFunction(onsubmit)){ + onsubmit(); + } + }; + + function htmlspecialchars (string, quote_style, charset, double_encode) { + var optTemp = 0, + i = 0, + noquotes = false; + if (typeof quote_style === 'undefined' || quote_style === null) { + quote_style = 2; + } + string = string.toString(); + if (double_encode !== false) { // Put this first to avoid double-encoding + string = string.replace(/&/g, '&'); + } + string = string.replace(//g, '>'); + + var OPTS = { + 'ENT_NOQUOTES': 0, + 'ENT_HTML_QUOTE_SINGLE': 1, + 'ENT_HTML_QUOTE_DOUBLE': 2, + 'ENT_COMPAT': 2, + 'ENT_QUOTES': 3, + 'ENT_IGNORE': 4 + }; + if (quote_style === 0) { + noquotes = true; + } + if (typeof quote_style !== 'number') { // Allow for a single string or an array of string flags + quote_style = [].concat(quote_style); + for (i = 0; i < quote_style.length; i++) { + // Resolve string input to bitwise e.g. 'ENT_IGNORE' becomes 4 + if (OPTS[quote_style[i]] === 0) { + noquotes = true; + } + else if (OPTS[quote_style[i]]) { + optTemp = optTemp | OPTS[quote_style[i]]; + } + } + quote_style = optTemp; + } + if (quote_style & OPTS.ENT_HTML_QUOTE_SINGLE) { + string = string.replace(/'/g, '''); + } + if (!noquotes) { + string = string.replace(/"/g, '"'); + } + + return string; + } + + + function htmlspecialchars_decode (string, quote_style) { + var optTemp = 0, + i = 0, + noquotes = false; + if (typeof quote_style === 'undefined') { + quote_style = 2; + } + string = string.toString().replace(/</g, '<').replace(/>/g, '>'); + var OPTS = { + 'ENT_NOQUOTES': 0, + 'ENT_HTML_QUOTE_SINGLE': 1, + 'ENT_HTML_QUOTE_DOUBLE': 2, + 'ENT_COMPAT': 2, + 'ENT_QUOTES': 3, + 'ENT_IGNORE': 4 + }; + if (quote_style === 0) { + noquotes = true; + } + if (typeof quote_style !== 'number') { // Allow for a single string or an array of string flags + quote_style = [].concat(quote_style); + for (i = 0; i < quote_style.length; i++) { + // Resolve string input to bitwise e.g. 'PATHINFO_EXTENSION' becomes 4 + if (OPTS[quote_style[i]] === 0) { + noquotes = true; + } else if (OPTS[quote_style[i]]) { + optTemp = optTemp | OPTS[quote_style[i]]; + } + } + quote_style = optTemp; + } + if (quote_style & OPTS.ENT_HTML_QUOTE_SINGLE) { + string = string.replace(/*39;/g, "'"); // PHP doesn't currently escape if more than one 0, but it should + // string = string.replace(/'|*27;/g, "'"); // This would also be useful here, but not a part of PHP + } + if (!noquotes) { + string = string.replace(/"/g, '"'); + } + // Put this in last place to avoid escape being double-decoded + string = string.replace(/&/g, '&'); + + return string; + } + + + function juxtimelineUpdate(){ + var items = container.find(".ntm-item"), + config = {}; + items.each(function(index,element){ + var that = $(this), + item = {'frame':that.find("#timeline_frame").val(),'title':that.find("#timeline_title").val(),'description':that.find("#timeline_description").val()}; + if (Object.keys(item).length) config[index] = item; + }); + $this.val(htmlspecialchars(JSON.stringify(config))); + }; + + function createTimeline(frame,title,description){ + frame = typeof(frame) == 'undefined' ? '' : frame; + title = typeof(title) == 'undefined' ? '' : title; + description = typeof(description) == 'undefined' ? '' : description; + var html = 'Before updating ensure that the update is compatible with your current version
++ + Get this version + + + More information + +
'; + return '
+ JUX Timeline is a joomla module which was built to help business, organizations showing their timeline of development and impress new customers. From the timeline, customers can easily have an overview about the company activities and evolution. +
++
Most completed Timeline
+Easy to use
Userful Links
+Copyright 2013 - 2014 JoomlaUX.com.
+ + + +