This commit is contained in:
2024-04-27 09:23:34 +02:00
commit 11e713ca6f
11884 changed files with 3263371 additions and 0 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View 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){
!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)return 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));return data.indexOf("{")<0&&(data="{"+data+"}"),data=eval("("+data+")"),$.data(elem,settings.single,data),data}}}),$.fn.metadata=function(t){return $.metadata.get(this[0],t)}}(jQuery);return jQuery;}));

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,11 @@
(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 a=/[A-Z]{3,10}\.?\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{1,2}:\d{2}(:\d{2})?(\s+[AP]M)?)?)/i,s=/(\d{1,2})[\/\s](\d{1,2})[\/\s](\d{4})/,d=/(\d{4}[\/\s]\d{1,2}[\/\s]\d{1,2}(\s+\d{1,2}:\d{2}(:\d{2})?(\s+[AP]M)?)?)/i,c=/(\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,r=e?e.match(a):e;return r&&(t=new Date(r[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,r=e?e.replace(/\s+/g," ").replace(/[\-.,]/g,"/").match(n):e;return r&&(t=new Date(r[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,r=e?e.replace(/\s+/g," ").replace(/[\-.,]/g,"/").match(i):e;return r&&(t=new Date(r[0].replace(s,"$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,r=e?e.replace(/\s+/g," ").replace(/[\-.,]/g,"/").match(d):e;return r&&(t=new Date(r[0].replace(c,"$2/$3/$1")))instanceof Date&&isFinite(t)?t.getTime():e},type:"numeric"})}(jQuery);return jQuery;}));

View File

@@ -0,0 +1,4 @@
(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 s=/^([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(s)},format:function(e){var t=e?e.match(s):e;if(t){var r=new Date(t[1],0,1);return t[3]&&r.setMonth(t[3]-1),t[5]&&r.setDate(t[5]),t[7]&&r.setHours(t[7]),t[8]&&r.setMinutes(t[8]),t[10]&&r.setSeconds(t[10]),t[12]&&r.setMilliseconds(1e3*Number("0."+t[12])),r.getTime()}return e},type:"numeric"})}(jQuery);return jQuery;}));

View File

@@ -0,0 +1,4 @@
(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 c=jQuery.tablesorter;c.dates||(c.dates={}),c.dates.months||(c.dates.months={}),c.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"},c.addParser({id:"month",is:function(){return!1},format:function(e,t,n,a){if(e){var r,o,s=t.config,i=s.globalize&&(s.globalize[a]||s.globalize)||{},u=c.dates.months[i.lang||"en"];for(o in s.ignoreCase&&(e=e.toLowerCase()),u)if("string"==typeof o&&(r=u[o],s.ignoreCase&&(r=r.toLowerCase()),e.match(r)))return parseInt(o,10)}return e},type:"numeric"})}();return jQuery;}));

View File

@@ -0,0 +1,11 @@
(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,s=[];if(n=(r=e.replace(/\s+/g," ").replace(/[\/\-.,]/g,"-").match(i))&&r.length){for(a=0;a<n;a++)t=new Date(r[a]),s.push(t instanceof Date&&isFinite(t)?t.getTime():r[a]);return s.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,s=[];if(n=(r=e.replace(/\s+/g," ").replace(/[\/\-.,]/g,"-").match(d))&&r.length){for(a=0;a<n;a++)t=new Date((""+r[a]).replace(o,"$2/$1/$3")),s.push(t instanceof Date&&isFinite(t)?t.getTime():r[a]);return s.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,s=[];if(n=(r=e.replace(/\s+/g," ").replace(/[\/\-.,]/g,"-").match(c))&&r.length){for(a=0;a<n;a++)t=new Date((""+r[a]).replace(g,"$2/$3/$1")),s.push(t instanceof Date&&isFinite(t)?t.getTime():r[a]);return s.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,s=t.globalize&&(t.globalize[r]||t.globalize)||{},i=f.dates.months[s.lang||"en"];for(n in t.ignoreCase&&(e=e.toLowerCase()),i)if("string"==typeof n&&(a=i[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;}));

View File

@@ -0,0 +1,4 @@
(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,u=(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,s=e.replace(/\s+/g," ").replace(/[-.,]/g,"/").replace(t,r),i=new Date(s);if(i instanceof Date&&isFinite(i)){for(n=i.getFullYear(),d=a&&a.config.dateRange||50;d<u-n;)n+=100;return i.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;}));

View File

@@ -0,0 +1,4 @@
(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(w){"use strict";var y=w.tablesorter;y.dates||(y.dates={}),y.dates.weekdays||(y.dates.weekdays={}),y.dates.weekdays.en={sun:"Sun",mon:"Mon",tue:"Tue",wed:"Wed",thu:"Thu",fri:"Fri",sat:"Sat"},y.dates.weekStartList={sun:"1995",mon:"1996",fri:"1999",sat:"2000"},y.dates.weekdaysXref=["sun","mon","tue","wed","thu","fri","sat"],y.addParser({id:"weekday",is:function(){return!1},format:function(e,t,a,r){if(e){var n,s,i,d=t.config,o=d.globalize&&(d.globalize[r]||d.globalize)||{},u=y.dates.weekdays[o.lang||"en"],f=y.dates.weekdaysXref;for(s in d.ignoreCase&&(e=e.toLowerCase()),u)if("string"==typeof s&&(n=u[s],d.ignoreCase&&(n=n.toLowerCase()),e.match(n)))return-1<(i=w.inArray(s,f))?i:e}return e},type:"numeric"}),y.addParser({id:"weekday-index",is:function(){return!1},format:function(e,t){if(e){var a=t.config,r=new Date(e);if(r instanceof Date&&isFinite(r))return new Date("1/"+(r.getDay()+1)+"/"+y.dates.weekStartList[a.weekStarts||"sun"])}return e},type:"numeric"})}(jQuery);return jQuery;}));

View File

@@ -0,0 +1,7 @@
(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,r=t?t(e):e?new Date(e):e;return r instanceof Date&&isFinite(r)?r.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):e;return t instanceof Date&&isFinite(t)?t.getTime():e},type:"numeric"})}(jQuery);return jQuery;}));

View 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: 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,s=r.config,i="",o="",a=s.durationLength||4,u=new Array(a+1).join("0"),d=(s.durationLabels||"(?:years|year|y),(?:days|day|d),(?:hours|hour|h),(?:minutes|minute|min|m),(?:seconds|second|sec|s)").split(/\s*,\s*/),c=d.length;if(!s.durationRegex){for(t=0;t<c;t++)i+="(?:(\\d+)\\s*"+d[t]+"\\s*)?";s.durationRegex=new RegExp(i,"i")}for(n=(s.usNumberFormat?e.replace(/,/g,""):e.replace(/(\d)(?:\.|\s*)(\d)/g,"$1$2")).match(s.durationRegex),t=1;t<c+1;t++)o+=(u+(n[t]||0)).slice(-a);return o},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;}));

View File

@@ -0,0 +1,4 @@
(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(a){"use strict";var n=a.tablesorter;n.symbolRegex=/[\u215b\u215c\u215d\u215e\u00bc\u00bd\u00be]/g,n.processFractions=function(t,e){if(t){var r,s=0;t=a.trim(t.replace(/\"/,"")),/\s/.test(t)&&(s=n.formatFloat(t.split(" ")[0],e),t=a.trim(t.substring(t.indexOf(" "),t.length))),/\//g.test(t)?(r=t.split("/"),t=s+parseInt(r[0],10)/parseInt(r[1]||1,10)):n.symbolRegex.test(t)&&(t=s+t.replace(n.symbolRegex,function(t){return{"⅛":".125","⅜":".375","⅝":".625","⅞":".875","¼":".25","½":".5","¾":".75"}[t]}))}return t||0},a.tablesorter.addParser({id:"distance",is:function(){return!1},format:function(t,e){if(""===t)return"";var r=/^\s*\S*(\s+\S+)?\s*\'/.test(t)?t.split(/\'/):[0,t],s=n.processFractions(r[0],e),a=n.processFractions(r[1],e);return/[\'\"]/.test(t)?parseFloat(s)+(parseFloat(a)/12||0):parseFloat(s)+parseFloat(a)},type:"numeric"})}(jQuery);return jQuery;}));

View File

@@ -0,0 +1,4 @@
(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(c){"use strict";c.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"}},c.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=c.tablesorter.fileTypes.separator,o=c.tablesorter.fileTypes.matching,n=c.tablesorter.fileTypes.equivalents;if(o||(s=[],c.each(n,function(t,e){s.push(e)}),o=c.tablesorter.fileTypes.matching=i+s.join(i)+i),0<=r&&(s=i+t.substring(r+1,t.length)+i,0<=o.indexOf(s)))for(r in n)if(0<=(i+n[r]+i).indexOf(s))return r+("/"!==p.toString().charAt(0)?a.group_separator:"-")+t;return t},type:"text"}),c.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;}));

View File

@@ -0,0 +1,7 @@
(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(b){"use strict";
/*! jQuery Globalize date parser (https://github.com/jquery/globalize#date-module) */b.tablesorter.addParser({id:"globalize-date",is:function(){return!1},format:function(e,l,a,o){var r,i,t=l.config,n=t.globalize&&(t.globalize[o]||t.globalize)||{};return Globalize&&(r="object"==typeof n.Globalize?n.Globalize:Globalize(n.lang||"en"),n.Globalize||(n.Globalize=r)),(i=r&&r.dateParser?r.dateParser(n)(e):e?new Date(e):e)instanceof Date&&isFinite(i)?i.getTime():e},type:"numeric"}),
/*! jQuery Globalize number parser (https://github.com/jquery/globalize#number-module) */
b.tablesorter.addParser({id:"globalize-number",is:function(){return!1},format:function(e,l,a,o){var r,i,t=l.config,n=t.globalize&&(t.globalize[o]||t.globalize)||{};return Globalize&&(r="object"==typeof n.Globalize?n.Globalize:Globalize(n.lang||"en"),n.Globalize||(n.Globalize=r)),i=r&&r.numberParser?r.numberParser(n)(e):e?b.tablesorter.formatFloat((e||"").replace(/[^\w,. \-()]/g,""),l):e,e&&"number"==typeof i?i:e},type:"numeric"})}(jQuery);return jQuery;}));

View File

@@ -0,0 +1,4 @@
(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;}));

View File

@@ -0,0 +1,4 @@
(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(o){"use strict";var g=o.tablesorter;g.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"},g.addParser({id:"ignoreArticles",is:function(){return!1},format:function(e,r,s,a){var n,i,t,l=r.config,d=e||"";return l.headers&&l.headers[a]&&l.headers[a].ignoreArticlesRegex||(l.headers||(l.headers={}),l.headers[a]||(l.headers[a]={}),t=g.getData(l.$headers.eq(a),g.getColumnData(r,l.headers,a),"ignoreArticles"),n=(g.ignoreArticles[t]||"the, a, an")+"",l.headers[a].ignoreArticlesRegex=new RegExp("^("+o.trim(n.split(/\s*\,\s*/).join("\\s|")+"\\s").replace("_\\s","")+")","i"),i=g.getData(l.$headers.eq(a),g.getColumnData(r,l.headers,a),"ignoreArticlesExcept"),l.headers[a].ignoreArticlesRegex2=""!==i?new RegExp("^("+i.replace(/\s/g,"\\s")+")","i"):""),!(n=l.headers[a].ignoreArticlesRegex).test(d)||(i=l.headers[a].ignoreArticlesRegex2)&&i.test(d)?d:d.replace(n,"")},type:"text"})}(jQuery);return jQuery;}));

View File

@@ -0,0 +1,4 @@
(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;}));

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,4 @@
(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 i=jQuery.tablesorter;i.addParser({id:"leadingZeros",is:function(){return!1},format:function(e,t){var r=(e||"").replace(i.regex.nondigit,""),n=i.formatFloat(r,t),a=n.toString();return isNaN(n)||n!=r||r.length===a.length||(n-=1e-10*(e.length-a.length)),n},type:"number"})}();return jQuery;}));

View File

@@ -0,0 +1,4 @@
(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(h){"use strict";var f={"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]},l=/^[b|bit|byte|o|octet]/i;h.tablesorter.addParser({id:"metric",is:function(){return!1},format:function(e,t,a,o){var r,i,c,n,m="m|meter",p=h.tablesorter.formatFloat(e.replace(/[^\w,. \-()]/g,""),t),d=t.config.$headerIndexed[o],s=d.data("metric");if(s||(r=(d.attr("data-metric-name")||m).split("|"),c=d.attr("data-metric-name-full")||"",n=d.attr("data-metric-name-abbr")||"",s=[c||r[1]||r[0].substring(1),n||r[0]],i=l.test(s.join("")),s[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?s[0].toLowerCase()+"|"+s[0].toUpperCase():s[0])+"|"+(i?s[1].toLowerCase()+"|"+s[1].toUpperCase():s[1]))+")"),s[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?s[1].toLowerCase()+"|"+s[1].toUpperCase():s[1]))+")"),d.data("metric",s)),r=e.match(s[2])||e.match(s[3]))for(m in f)if(r[3].match(m))return i=l.test(r[4])?1:0,p*f[m][i];return p},type:"numeric"})}(jQuery);return jQuery;}));

View File

@@ -0,0 +1,4 @@
(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: namedNumbers - updated 10/26/2014 (v2.18.0) */
!function(d){"use strict";var g,v,c={negative:["negative","minus"],numbers:{zero:0,one:1,two:2,three:3,four:4,five:5,six:6,seven:7,eight:8,nine:9,ten:10,eleven:11,twelve:12,thirteen:13,fourteen:14,fifteen:15,sixteen:16,seventeen:17,eighteen:18,nineteen:19,twenty:20,thirty:30,forty:40,fourty:40,fifty:50,sixty:60,seventy:70,eighty:80,ninety:90},hundred:"hundred",powers:{thousand:1e3,million:1e6,billion:1e9,trillion:1e12,quadrillion:1e15,quintillion:1e18,sextillion:1e21,septillion:1e24,octillion:1e27,nonillion:1e30,decillion:1e33,undecillion:1e36,duodecillion:1e39,tredecillion:1e42,quattuordecillion:1e45,quindecillion:1e48,sexdecillion:1e51,septendecillion:1e54,octodecillion:1e57,novemdecillion:1e60,vigintillion:1e63,unvigintillion:1e66,duovigintillion:1e69,trevigintillion:1e72,quattuorvigintillion:1e75,quinvigintillion:1e78,sexvigintillion:1e81,septenvigintillion:1e84,octovigintillion:1e87,novemvigintillion:1e90,trigintillion:1e93,untrigintillion:1e96,duotrigintillion:1e99,googl:1e100}},f=new RegExp("("+c.negative.join("|")+")");d.tablesorter.addParser({id:"namedNumbers",is:function(){return!1},format:function(e,i){v=g=0;var n,t,l,o,r,u,s=(e||"").split(/[\s-]+/),a=s.length;for(n=0;n<a;n++)t=s[n].toLowerCase(),l=i,r=void 0,o=t.replace(/[,."']/g,""),r=d.tablesorter.formatFloat(t||"",l),u=c.powers.hasOwnProperty(o)?c.powers[o]:null,null!==(r="number"==typeof r?r:c.numbers.hasOwnProperty(o)?c.numbers[o]:null)?v+=r:o===c.hundred?v*=100:null!==u&&(g+=v*u,v=0);return(g=(g+v)*(e.match(f)?-1:1))||c.numbers.hasOwnProperty(e)?g:d.tablesorter.formatFloat(e||"",i)},type:"numeric"})}(jQuery);return jQuery;}));

View File

@@ -0,0 +1,9 @@
(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: network - updated 2018-01-10 (v2.29.3) */
!function(d){"use strict";var e,t,o=d.tablesorter;
/*! IPv6 Address parser (WIP) */d.extend(o.regex,{},{ipv4Validate:/((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})/,ipv4Extract:/([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})/,ipv6Validate:/^\s*((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/i}),o.defaults.ipv6HexFormat=!1,o.addParser({id:"ipv6Address",is:function(d){return o.regex.ipv6Validate.test(d)},format:function(d,e){var t,a,r,i,f,s=!!e&&("boolean"==typeof e?e:e&&e.config.ipv6HexFormat||!1),n="",p="";if(d=d.replace(/\s*/g,""),o.regex.ipv4Validate.test(d)){for(i=d.match(o.regex.ipv4Extract),a="",t=1;t<i.length;t++)a+=("00"+parseInt(i[t],10).toString(16)).slice(-2)+(2===t?":":"");d=d.replace(o.regex.ipv4Extract,a)}if(-1===d.indexOf("::"))n=d;else{for(r=d.split("::"),t=f=0;t<r.length;t++)f+=r[t].split(":").length;for(n+=r[0]+":",t=0;t<8-f;t++)n+="0000:";n+=r[1]}for(i=n.split(":"),t=0;t<8;t++)i[t]=s?("0000"+i[t]).slice(-4):("00000"+(parseInt(i[t],16)||0)).slice(-5),p+=7!==t?i[t]+":":i[t];return p},type:"text"}),t=function(d){return/^\d{1,3}[\.]\d{1,3}[\.]\d{1,3}[\.]\d{1,3}$/.test(d)},e=function(d){var e,t=d?d.split("."):"",a=[],r=t.length;for(e=0;e<r;e++)a.push(("000"+t[e]).slice(-3));return d?a.join("."):d},
/*! Parser: ipv4Address (a.k.a. ipAddress) */
o.addParser({id:"ipAddress",is:t,format:e,type:"text"}),o.addParser({id:"ipv4Address",is:t,format:e,type:"text"}),
/*! Parser: MAC address */
o.addParser({id:"MAC",is:function(){return!1},format:function(d){var e,t,a=[],r=(d||"").replace(/[:.-]/g,"").match(/\w{2}/g);if(r){for(t=r.length,e=0;e<t;e++)a.push(("000"+parseInt(r[e],16)).slice(-3));return a.join(".")}return d},type:"text"})}(jQuery);return jQuery;}));

View File

@@ -0,0 +1,4 @@
(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: roman - updated 6/28/MMXIV (v2.17.3) */
!function(c){"use strict";var p=/^M*(?:D?C{0,3}|C[MD])(?:L?X{0,3}|X[CL])(?:V?I{0,3}|I[XV])$/i,m=/\b([MCDLXVI]+\b)/gi,l={I:1,V:5,X:10,L:50,C:100,D:500,M:1e3};c.tablesorter.addParser({id:"roman",is:function(){return!1},format:function(r){var t,e=r.toUpperCase().split(""),n=0;if(!r||!p.test(r))return r;for(;e.length;)n+=(t=l[e.shift()])*(t<l[e[0]]?-1:1);return n},type:"numeric"}),c.tablesorter.addParser({id:"roman-ignore",is:function(){return!1},format:function(r,t,e,n){var i,a,o=t.config,s=c.isArray(o.roman_ignore)?o.roman_ignore[n]:0,u=(isNaN(s)?c.trim(r.replace(s,"")):c.trim(r.substring(0,r.length-s))).match(m),f=0;if(!p.test(u))return r;for(u=(a=u[0]).toUpperCase().split("");u.length;)(i=l[u.shift()])&&(f+=i*(i<l[u[0]]?-1:1));return f?r.replace(a,f):r},type:"text"}),c.tablesorter.addParser({id:"roman-extract",is:function(){return!1},format:function(r){var t,e=c.grep(r.split(/\b/),function(r){return p.test(r)?r:""}).join("").match(m),n=0;if(!(e?p.test(e):0))return r;for(e=e[0].toUpperCase().split("");e.length;)(t=l[e.shift()])&&(n+=t*(t<l[e[0]]?-1:1));return n||r},type:"numeric"})}(jQuery);return jQuery;}));

View File

@@ -0,0 +1,4 @@
(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){
/*! Widget: alignChar - updated 2/7/2015 (v2.19.0) */
!function(_){"use strict";var e=_.tablesorter;e.alignChar={init:function(i,t,r){t.$headers.filter("["+r.alignChar_charAttrib+"]").each(function(){var n=_(this),a={column:this.column,align:n.attr(r.alignChar_charAttrib),alignIndex:parseInt(n.attr(r.alignChar_indexAttrib)||0,10),adjust:parseFloat(n.attr(r.alignChar_adjustAttrib))||0};a.regex=new RegExp("\\"+a.align,"g"),void 0!==a.align&&(r.alignChar_savedVars[this.column]=a,e.alignChar.setup(i,t,r,a))})},setup:function(n,a,i,t){if(!_.isEmptyObject(a.cache)){var r,e,l,h,g,o,s,d,c,u,f,m,p,C,w=[],b=[];for(r=0;r<a.$tbodies.length;r++)for(u=(s=a.cache[r]).normalized.length,e=0;e<u;e++){if(0<(c=((d=(C=s.row?s.row[e]:s.normalized[e][a.columns].$row).find("td").eq(t.column).text().replace(/[ ]/g," ")).match(t.regex)||[]).length)&&0<t.alignIndex)for(h=Math.min(t.alignIndex,c),g=o=l=0;l++<h;)o=(g=d.indexOf(t.align,g+1))<0?o:g;else o=d.indexOf(t.align);0<=o?(w.push(d.substring(0,o)||""),b.push(d.substring(o,d.length)||"")):(w.push(1<=c&&t.alignIndex>=c?"":d||""),b.push(1<=c&&t.alignIndex>=c&&d||""))}for(f=_.extend([],w).sort(function(n,a){return a.length-n.length})[0],m=_.extend([],b).sort(function(n,a){return a.length-n.length})[0],t.width=t.width||Math.floor(f.length/(f.length+m.length)*100)+t.adjust,f="min-width:"+t.width+"%",m="min-width:"+(100-t.width)+"%",r=0;r<a.$tbodies.length;r++)for(u=(s=a.cache[r]).normalized.length,e=0;e<u;e++)p=_(i.alignChar_wrap).length?_(i.alignChar_wrap).html(t.align)[0].outerHTML:t.align,C=s.row?s.row[e]:s.normalized[e][a.columns].$row,g=b[e].slice(t.align.length),C.find("td").eq(t.column).html('<span class="ts-align-wrap"><span class="ts-align-left" style="'+f+'">'+w[e]+'</span><span class="ts-align-right" style="'+m+'">'+(g.length?p+g:"")+"</span></span>");i.alignChar_initialized=!0}},remove:function(n,a,i){var t,r,e,l,h;if(!_.isEmptyObject(a.cache))for(t=0;t<a.$tbodies.length;t++)for(e=(l=a.cache[t]).normalized.length,r=0;r<e;r++)(h=(l.row?l.row[r]:l.normalized[r][a.columns].$row).find("td").eq(i)).html(h.text().replace(/\s/g," "))}},e.addWidget({id:"alignChar",priority:100,options:{alignChar_wrap:"",alignChar_charAttrib:"data-align-char",alignChar_indexAttrib:"data-align-index",alignChar_adjustAttrib:"data-align-adjust"},init:function(n,a,i,t){t.alignChar_initialized=!1,t.alignChar_savedVars=[],e.alignChar.init(n,i,t),i.$table.on("pagerEnd refreshAlign",function(){i.$headers.filter("["+t.alignChar_charAttrib+"]").each(function(){e.alignChar.remove(n,i,this.column)}),e.alignChar.init(n,i,t)})},format:function(n,a,i){i.alignChar_initialized||a.$table.triggerHandler("refreshAlign")},remove:function(n,a,i,t){t||(a.$headers.filter("["+i.alignChar_charAttrib+"]").each(function(){e.alignChar.remove(n,a,this.column)}),i.alignChar_initialized=!1)}})}(jQuery);return jQuery;}));

File diff suppressed because one or more lines are too long

View 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){
!function(l){"use strict";var n=l.tablesorter,s=[],c=[],u=[],a=[],_=[],f=[],d=[],g=[],p=n.chart={nonDigit:/[^\d,.\-()]/g,init:function(t,e){t.$table.off(e.chart_event).on(e.chart_event,function(){if(this.hasInitialized){var t=this.config;p.getCols(t,t.widgetOptions),p.getData(t,t.widgetOptions)}})},getCols:function(t,e){var a;for(s=[],f=[],g=[],a=0;a<t.columns;a++)e.chart_useSelector&&n.hasWidget(t.table,"columnSelector")&&!t.selector.auto?(t.selector.states[a]&&l.inArray(a,e.chart_ignoreColumns)<0||a===e.chart_labelCol||a===e.chart_sort[0][0])&&s.push(a):(l.inArray(a,e.chart_ignoreColumns)<0||a===e.chart_labelCol||a===e.chart_sort[0][0])&&s.push(a)},getData:function(t,e){p.getHeaders(t,e),p.getRows(t,e),a=[c],l.each(u,function(t,e){a.push(e)}),t.chart={data:a,categories:_,series:f,category:d,dataset:g}},getHeaders:function(a,r){var o;f=[],g=[],(c=[]).push(a.headerContent[r.chart_labelCol]),l.each(s,function(t,e){if(e===r.chart_labelCol)return!0;o=a.headerContent[e],c.push(o),f.push({name:o,data:[]}),g.push({seriesname:o,data:[]})})},getRows:function(c,i){var t=c.cache[0].normalized,h=[];u=[],_=[],d=[],l.each(t,function(t,e){var a,r,o=e[c.columns].$row,s=o.children("th,td"),n=[];if(/v/i.test(i.chart_incRows)&&o.is(":visible")||/f/i.test(i.chart_incRows)&&!o.hasClass(i.filter_filteredRow||"filtered")||!/(v|f)/i.test(i.chart_incRows)){for(a=0;a<c.columns;a++)0<=l.inArray(t,i.chart_parsed)?n.push(e[a]):(r=s[a].getAttribute(c.textAttribute)||s[a].textContent||s.eq(a).text(),n.push(l.trim(r)));h.push(n)}}),h.sort(function(t,e){return 1===i.chart_sort[0][1]?n.sortNatural(e[i.chart_sort[0][0]],t[i.chart_sort[0][0]]):n.sortNatural(t[i.chart_sort[0][0]],e[i.chart_sort[0][0]])}),l.each(h,function(t,e){var r,o=0,s=[],a=e[i.chart_labelCol];s.push(""+a),l.each(e,function(t,e){var a;if(t===i.chart_labelCol)return _.push(e),d.push({label:e}),!0;r=!1,i.chart_useSelector&&n.hasWidget(c.table,"columnSelector")&&!c.selector.auto?c.selector.states[t]&&l.inArray(t,i.chart_ignoreColumns)<0&&(r=""+e):l.inArray(t,i.chart_ignoreColumns)<0&&(r=""+e),!1!==r&&(/s/i.test(""+i.chart_layout[t])?(s.push(r),f[o].data.push(r),g[o].data.push(r)):(a=n.formatFloat(r.replace(p.nonDigit,""),c.table),a=isNaN(a)?r:a,s.push(a),f[o].data.push(a),g[o].data.push({value:a})),o++)}),u.push(s)})},remove:function(t,e){t.$table.off(e.chart_event)}};n.addWidget({id:"chart",options:{chart_incRows:"filtered",chart_useSelector:!1,chart_ignoreColumns:[],chart_parsed:[],chart_layout:{0:"string"},chart_labelCol:0,chart_sort:[[0,0]],chart_event:"chartData"},init:function(t,e,a,r){p.init(a,r)},remove:function(t,e,a){p.remove(e,a)}})}(jQuery);return jQuery;}));

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,4 @@
(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){
/*! Widget: columns - updated 5/24/2017 (v2.28.11) */
!function(b){"use strict";var v=b.tablesorter||{};v.addWidget({id:"columns",priority:65,options:{columns:["primary","secondary","tertiary"]},format:function(e,r,o){var t,s,n,i,a,d,l,c,h=r.$table,f=r.$tbodies,m=r.sortList,y=m.length,u=o&&o.columns||["primary","secondary","tertiary"],p=u.length-1;for(l=u.join(" "),s=0;s<f.length;s++)(n=(t=v.processTbody(e,f.eq(s),!0)).children("tr")).each(function(){if(a=b(this),"none"!==this.style.display&&(d=a.children().removeClass(l),m&&m[0]&&(d.eq(m[0][0]).addClass(u[0]),1<y)))for(c=1;c<y;c++)d.eq(m[c][0]).addClass(u[c]||u[p])}),v.processTbody(e,t,!1);if(i=!1!==o.columns_thead?["thead tr"]:[],!1!==o.columns_tfoot&&i.push("tfoot tr"),i.length&&(n=h.find(i.join(",")).children().removeClass(l),y))for(c=0;c<y;c++)n.filter('[data-column="'+m[c][0]+'"]').addClass(u[c]||u[p])},remove:function(e,r,o){var t,s,n=r.$tbodies,i=(o.columns||["primary","secondary","tertiary"]).join(" ");for(r.$headers.removeClass(i),r.$table.children("tfoot").children("tr").children("th, td").removeClass(i),t=0;t<n.length;t++)(s=v.processTbody(e,n.eq(t),!0)).children("tr").each(function(){b(this).children().removeClass(i)}),v.processTbody(e,s,!1)}})}(jQuery);return jQuery;}));

View File

@@ -0,0 +1,4 @@
(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){
/*! Widget: cssStickyHeaders - updated 6/16/2018 (v2.30.6) */
!function(d,o){"use strict";var s=d.tablesorter;function a(r,l){function p(e,t){var s=0===t?"":"translate(0px,"+t+"px)";e.css({transform:s,"-ms-transform":s,"-webkit-transform":s})}var e,h,f=r.$table,g=d(l.cssStickyHeaders_attachTo),k="ActiveXObject"in o||-1<o.navigator.userAgent.indexOf("Edge"),t=r.namespace+"cssstickyheader ",y=f.children("thead"),H=f.children("caption"),u=g.length?g:d(o),S=f.parent().closest("table."+s.css.table),b=S.length&&s.hasWidget(S[0],"cssStickyHeaders")?S.children("thead"):[],m=parseInt(f.css("border-top-width"),10)||0,_=f.height(),C=l.cssStickyHeaders_addCaption,T=!1,v=!1;H.length&&(H.hide(),v=f.height()===_,H.show(),e=f.offset().top,p(H,20),T=f.offset().top!==e,p(H,0)),u.unbind("scroll resize ".split(" ").join(t).replace(/\s+/g," ")).bind("scroll resize ".split(" ").join(t),function(){l=r.widgetOptions,T&&(p(H,0),h=f.offset().top),u.scrollTop()<H.outerHeight(!0)&&(_=f.height());var e=g.length?g.offset().top:u.scrollTop(),t=(H.outerHeight(!0)||0)+(parseInt(f.css("padding-top"),10)||0)+(parseInt(f.css("border-spacing"),10)||0),s=_+(v&&l.cssStickyHeaders_addCaption?t:0)-y.height()-(f.children("tfoot").height()||0)-(l.cssStickyHeaders_addCaption?t:v?0:t),i=b.length?b.height():0,a=b.length?k?S.data("cssStickyHeaderBottom")+i:b.offset().top+i-u.scrollTop():0,d=T?h:f.offset().top,o=e-(v?d-(l.cssStickyHeaders_addCaption?t:0):d)+a+m+(l.cssStickyHeaders_offset||0)-(l.cssStickyHeaders_addCaption?v?t:0:t),c=0<o&&o<=s?o:0,n=k?y.children().children():y;k&&r.$table.data("cssStickyHeaderBottom",(b.length?i:0)-(l.cssStickyHeaders_addCaption?t:0)),l.cssStickyHeaders_addCaption&&(n=n.add(H)),C!==l.cssStickyHeaders_addCaption&&((C=l.cssStickyHeaders_addCaption)||p(H,0)),p(n,c)}),f.unbind("filterEnd updateComplete ".split(" ").join(t).replace(/\s+/g," ")).bind("filterEnd"+t,function(){l.cssStickyHeaders_filteredToTop&&o.scrollTo(0,f.position().top)}).bind("updateComplete"+t,function(){a(r,r.widgetOptions)})}s.addWidget({id:"cssStickyHeaders",priority:10,options:{cssStickyHeaders_offset:0,cssStickyHeaders_addCaption:!1,cssStickyHeaders_attachTo:null,cssStickyHeaders_filteredToTop:!0},init:function(e,t,s,i){a(s,i)},remove:function(e,t,s,i){if(!i){var a=t.namespace+"cssstickyheader ";d(o).unbind("scroll resize ".split(" ").join(a).replace(/\s+/g," ")),t.$table.unbind("filterEnd scroll resize updateComplete ".split(" ").join(a).replace(/\s+/g," ")).add(t.$table.children("thead").children().children()).children("thead, caption").css({transform:"","-ms-transform":"","-webkit-transform":""})}}})}(jQuery,window);return jQuery;}));

View File

@@ -0,0 +1,4 @@
(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){
/*! Widget: currentSort - 7/31/2016 (v2.27.0) */
!function(){"use strict";var i=jQuery.tablesorter;i.currentSortLanguage={0:"asc",1:"desc",2:"unsorted"},i.currentSort={init:function(t){t.$table.on("sortEnd.tscurrentSort",function(){i.currentSort.update(this.config)})},update:function(t){if(t){var r,n=t.widgetOptions,o=i.currentSortLanguage,e=o[2],c=Array.apply(null,Array(t.columns)).map(String.prototype.valueOf,e),u=t.sortList,a=u.length;for(r=0;r<a;r++)c[u[r][0]]=o[u[r][1]];t.currentSort=c,"function"==typeof n.currentSort_callback&&n.currentSort_callback(t,c)}}},i.addWidget({id:"currentSort",options:{currentSort_callback:null},init:function(t,r,n,o){i.currentSort.init(n,o)},remove:function(t,r){r.$table.off("sortEnd.tscurrentSort")}})}();return jQuery;}));

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,4 @@
(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){
/*! Widget: filter, select2 formatter function - updated 12/1/2019 (v2.31.2) */
!function(g){"use strict";var h=g.tablesorter||{};h.filterFormatter=h.filterFormatter||{},h.filterFormatter.select2=function(i,c,e){function t(){a=[],l=h.filter.getOptionSource(s.$table[0],c,f)||[],g.each(l,function(e,t){a.push({id:""+t.parsed,text:t.text})}),n.data=a}var l,a,n=g.extend({cellText:"",match:!0,value:"",multiple:!0,width:"100%"},e),s=i.addClass("select2col"+c).closest("table")[0].config,d=s.widgetOptions,r=g('<input class="filter" type="hidden">').appendTo(i).bind("change"+s.namespace+"filter",function(){var e=v(this.value);s.$table.find(".select2col"+c+" .select2").select2("val",e),$()}),o=s.$headerIndexed[c],f=o.hasClass(d.filter_onlyAvail),p=n.match?"":"^",u=n.match?"":"$",b=d.filter_ignoreCase?"i":"",v=function(e){return e.replace(/^\/\(\^?/,"").replace(/\$\|\^/g,"|").replace(/\$?\)\/i?$/g,"").replace(/\\/g,"").split("|")},$=function(){var e=!1,t=s.$table.find(".select2col"+c+" .select2").select2("val")||n.value||"";g.isArray(t)&&(e=!0,t=t.join("\0"));var l=t.replace(/[-[\]{}()*+?.,/\\^$|#]/g,"\\$&");e&&(t=t.split("\0"),l=l.split("\0")),h.isEmptyObject(i.find(".select2").data())||(r.val(g.isArray(l)&&l.length&&""!==l.join("")?"/("+p+(l||[]).join(u+"|"+p)+u+")/"+b:"").trigger("search"),i.find(".select2").select2("val",t),s.widgetOptions.$sticky&&s.widgetOptions.$sticky.find(".select2col"+c+" .select2").select2("val",t))};return o.toggleClass("filter-match",n.match),n.cellText&&i.prepend("<label>"+n.cellText+"</label>"),n.ajax&&!g.isEmptyObject(n.ajax)||n.data||(t(),s.$table.bind("filterEnd",function(){t(),s.$table.find(".select2col"+c).add(s.widgetOptions.$sticky&&s.widgetOptions.$sticky.find(".select2col"+c)).find(".select2").select2(n)})),g('<input class="select2 select2-'+c+'" type="hidden" />').val(n.value).appendTo(i).select2(n).bind("change",function(){$()}),s.$table.bind("filterFomatterUpdate",function(){var e=v(s.$table.data("lastSearch")[c]||"");(i=s.$table.find(".select2col"+c)).find(".select2").select2("val",e),$(),h.filter.formatterUpdated(i,c)}),s.$table.bind("stickyHeadersInit",function(){var e=s.widgetOptions.$sticky.find(".select2col"+c).empty();g('<input class="select2 select2-'+c+'" type="hidden">').val(n.value).appendTo(e).select2(n).bind("change",function(){s.$table.find(".select2col"+c).find(".select2").select2("val",s.widgetOptions.$sticky.find(".select2col"+c+" .select2").select2("val")),$()}),n.cellText&&e.prepend("<label>"+n.cellText+"</label>")}),s.$table.bind("filterReset",function(){s.$table.find(".select2col"+c).find(".select2").select2("val",n.value||""),setTimeout(function(){$()},0)}),$(),r}}(jQuery);return jQuery;}));

View File

@@ -0,0 +1,4 @@
(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){
/*! Widget: filter, insideRange filter type - updated 12/10/2015 (v2.25.0) */
!function(){"use strict";function f(t){return isNaN(t)?t:parseFloat(t)}var t=jQuery.tablesorter,o=/\d+/,p=/\s+-\s+/;t.filter.types.insideRange=function(t,e){if(!e.anyMatch&&o.test(e.iFilter)&&p.test(e.iExact)){var r,i,n,a,s=e.index,l=e.$cells[s],u=e.iExact.split(p),c=t.parsers[e.index]&&t.parsers[e.index].format;return u&&u.length<2||"function"!=typeof c?null:(n=f(c(u[0],t.table,l,s)),(a=f(c(u[1],t.table,l,s)))<n&&(r=a,a=n,n=r),n<=(i=f(c(e.iFilter,t.table,l,s)))&&i<=a)}return null}}();return jQuery;}));

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,4 @@
(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){
/*! Widget: formatter - 2/9/2015 (v2.19.1) */
!function(d){"use strict";var u=d.tablesorter;u.formatter={init:function(t){var e=t.widgetOptions.formatter_event+" pagerComplete updateComplete ".split(" ").join(".tsformatter ");t.$table.off(e.replace(/\s+/g," ")).on(e,function(){u.formatter.setup(t)}),u.formatter.setup(t)},setup:function(t){if(!d.isEmptyObject(t.cache)){var e,o,r,n,i,a,l,c=t.widgetOptions,f={config:t,wo:c},s=[],m=[];for(l=0;l<t.columns;l++)m[l]=t.$headerIndexed[l],s[l]=u.getColumnData(t.table,c.formatter_column,l)||!1;for(o=0;o<t.$tbodies.length;o++){for(e=u.processTbody(t.table,t.$tbodies.eq(o),!0),a=(n=t.cache[o]).normalized.length,r=0;r<a;r++)for(f.$row=n.normalized[r][t.columns].$row,f.$cells=f.$row.children("th, td"),l=0;l<t.columns;l++)s[l]&&(f.columnIndex=l,f.$header=m[l],f.$cell=f.$cells.eq(l),i=f.$cell[0],f.text=i.getAttribute(t.textAttribute)||i.textContent||f.$cell.text(),i.innerHTML=s[l](f.text,f));u.processTbody(t.table,e,!1)}}}},u.addWidget({id:"formatter",priority:100,options:{formatter_column:{},formatter_event:"applyFormatter"},init:function(t){u.formatter.init(t.config)}})}(jQuery);return jQuery;}));

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,4 @@
(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){
/*! Widget: headerTitles - updated 11/10/2015 (v2.24.4) */
!function(d){"use strict";var n=d.tablesorter;n.addWidget({id:"headerTitles",options:{headerTitle_useAria:!1,headerTitle_tooltip:"",headerTitle_cur_text:[" sort: A - Z"," sort: Z - A","ly unsorted"],headerTitle_cur_numeric:[" sort: 0 - 9"," sort: 9 - 0","ly unsorted"],headerTitle_nxt_text:[" sort: A - Z"," sort: Z - A","remove sort"],headerTitle_nxt_numeric:[" sort: 0 - 9"," sort: 9 - 0","remove sort"],headerTitle_output_sorted:"current{current}; activate to {next}",headerTitle_output_unsorted:"current{current}; activate to {next} ",headerTitle_output_nosort:"No sort available",headerTitle_type:[],headerTitle_callback:null},init:function(e,t,r,a){r.$table.on("refreshHeaderTitle",function(){t.format(e,r,a)}),d.isArray(a.headerTitle_tooltip)?r.$headers.each(function(){d(this).addClass(a.headerTitle_tooltip[this.column]||"")}):""!==a.headerTitle_tooltip&&r.$headers.addClass(a.headerTitle_tooltip)},format:function(e,s,i){var l;s.$headers.each(function(){var t=d(this),e=parseInt(t.attr("data-column"),10),r=i.headerTitle_type[e]||s.parsers[e].type||"text",a=t.hasClass(n.css.sortAsc)?0:t.hasClass(n.css.sortDesc)?1:2,o=s.sortVars[e].order[(s.sortVars[e].count+1)%(s.sortReset?3:2)];l=i.headerTitle_useAria?t.attr("aria-label")||i.headerTitle_output_nosort||"":(l=(i.headerTitle_prefix||"")+(t.hasClass("sorter-false")?i.headerTitle_output_nosort:0<=n.isValueInArray(e,s.sortList)?i.headerTitle_output_sorted:i.headerTitle_output_unsorted)).replace(/\{(current|next|name)\}/gi,function(e){return{"{name}":t.text(),"{current}":i["headerTitle_cur_"+r][a]||"","{next}":i["headerTitle_nxt_"+r][o]||""}[e.toLowerCase()]}),t.attr("title",d.isFunction(i.headerTitle_callback)?i.headerTitle_callback(t,l):l)})},remove:function(e,t,r){t.$headers.attr("title",""),t.$table.off("refreshHeaderTitle"),d.isArray(r.headerTitle_tooltip)?t.$headers.each(function(){d(this).removeClass(r.headerTitle_tooltip[this.column]||"")}):""!==r.headerTitle_tooltip&&t.$headers.removeClass(r.headerTitle_tooltip)}})}(jQuery);return jQuery;}));

View File

@@ -0,0 +1,19 @@
(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){
/*! Widget: lazyload (BETA) - 4/1/2016 (v2.25.7) */
!function(r,o){"use strict";var n=r.tablesorter;n.lazyload={init:function(t,e){"scrollstop"!==e.lazyload_event||n.addScrollStopDone||(n.addScrollStop(),n.addScrollStopDone=!0,r.event.special.scrollstop.latency=e.lazyload_latency||250),n.lazyload.update(t,e);var l=t.namespace+"lazyload ",a=[e.lazyload_update,"pagerUpdate",e.columnSelector_updated||"columnUpdate",""].join(l);t.$table.on(a,function(){n.lazyload.update(t,t.widgetOptions)}).on("filterEnd"+l,function(){r(o).scroll()})},update:function(t,e){var l=(/(\.|#)/.test(e.lazyload_imageClass)?"":".")+e.lazyload_imageClass;t.$table.find(l).lazyload({threshold:e.lazyload_threshold,failure_limit:e.lazyload_failure_limit,event:e.lazyload_event,effect:e.lazyload_effect,container:e.lazyload_container,data_attribute:e.lazyload_data_attribute,skip_invisible:e.lazyload_skip_invisible,appear:e.lazyload_appear,load:e.lazyload_load,placeholder:e.lazyload_placeholder}),setTimeout(function(){r(o).scroll()},1)},remove:function(t){t.$table.off(t.namespace+"lazyload")}},n.addWidget({id:"lazyload",options:{lazyload_imageClass:"lazy",lazyload_update:"lazyloadUpdate",lazyload_latency:250,lazyload_threshold:0,lazyload_failure_limit:0,lazyload_event:"scrollstop",lazyload_effect:"show",lazyload_container:o,lazyload_data_attribute:"original",lazyload_skip_invisible:!0,lazyload_appear:null,lazyload_load:null,lazyload_placeholder:"data:image/gif;base64,R0lGODlhAQABAIABAP///wAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="},init:function(t,e,l,a){n.lazyload.init(l,a)},remove:function(t,e,l){n.lazyload.remove(e,l)}}),n.addScrollStop=function(){var n=r.event.dispatch||r.event.handle,i=r.event.special,o="D"+ +new Date,l="D"+(+new Date+1);i.scrollstart={setup:function(t){function e(t){var e=arguments;l?clearTimeout(l):(t.type="scrollstart",n.apply(this,e)),l=setTimeout(function(){l=null},a.latency)}var l,a=r.extend({latency:i.scrollstop.latency},t);r(this).bind("scroll",e).data(o,e)},teardown:function(){r(this).unbind("scroll",r(this).data(o))}},i.scrollstop={latency:250,setup:function(t){function e(t){var e=this,l=arguments;a&&clearTimeout(a),a=setTimeout(function(){a=null,t.type="scrollstop",n.apply(e,l)},o.latency)}var a,o=r.extend({latency:i.scrollstop.latency},t);r(this).bind("scroll",e).data(l,e)},teardown:function(){r(this).unbind("scroll",r(this).data(l))}}}}(jQuery,window),
/*!
* Lazy Load - jQuery plugin for lazy loading images
*
* Copyright (c) 2007-2015 Mika Tuupola
*
* Licensed under the MIT license:
* http://www.opensource.org/licenses/mit-license.php
*
* Project home:
* http://www.appelsiini.net/projects/lazyload
*
* Version: 1.9.7
*
*/
function(r,a,o,d){var f=r(a);r.fn.lazyload=function(t){var e,n=this,i={threshold:0,failure_limit:0,event:"scroll",effect:"show",container:a,data_attribute:"original",skip_invisible:!1,appear:null,load:null,placeholder:"data:image/gif;base64,R0lGODlhAQABAIABAP///wAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="};function l(){var e=0;n.each(function(){var t=r(this);if((!i.skip_invisible||t.is(":visible"))&&!r.abovethetop(this,i)&&!r.leftofbegin(this,i))if(r.belowthefold(this,i)||r.rightoffold(this,i)){if(++e>i.failure_limit)return!1}else t.trigger("appear"),e=0})}return t&&(d!==t.failurelimit&&(t.failure_limit=t.failurelimit,delete t.failurelimit),d!==t.effectspeed&&(t.effect_speed=t.effectspeed,delete t.effectspeed),r.extend(i,t)),e=i.container===d||i.container===a?f:r(i.container),0===i.event.indexOf("scroll")&&e.bind(i.event,function(){return l()}),this.each(function(){var a=this,o=r(a);a.loaded=!1,o.attr("src")!==d&&!1!==o.attr("src")||o.is("img")&&o.attr("src",i.placeholder),o.one("appear",function(){if(!this.loaded){if(i.appear){var t=n.length;i.appear.call(a,t,i)}r("<img />").bind("load",function(){var t=o.attr("data-"+i.data_attribute);o.hide(),o.is("img")?o.attr("src",t):o.css("background-image",'url("'+t+'")'),o[i.effect](i.effect_speed),a.loaded=!0;var e=r.grep(n,function(t){return!t.loaded});if(n=r(e),i.load){var l=n.length;i.load.call(a,l,i)}}).attr("src",o.attr("data-"+i.data_attribute))}}),0!==i.event.indexOf("scroll")&&o.bind(i.event,function(){a.loaded||o.trigger("appear")})}),f.bind("resize",function(){l()}),/(?:iphone|ipod|ipad).*os 5/gi.test(navigator.appVersion)&&f.bind("pageshow",function(t){t.originalEvent&&t.originalEvent.persisted&&n.each(function(){r(this).trigger("appear")})}),r(o).ready(function(){l()}),this},r.belowthefold=function(t,e){return(e.container===d||e.container===a?(a.innerHeight?a.innerHeight:f.height())+f.scrollTop():r(e.container).offset().top+r(e.container).height())<=r(t).offset().top-e.threshold},r.rightoffold=function(t,e){return(e.container===d||e.container===a?f.width()+f.scrollLeft():r(e.container).offset().left+r(e.container).width())<=r(t).offset().left-e.threshold},r.abovethetop=function(t,e){return(e.container===d||e.container===a?f.scrollTop():r(e.container).offset().top)>=r(t).offset().top+e.threshold+r(t).height()},r.leftofbegin=function(t,e){return(e.container===d||e.container===a?f.scrollLeft():r(e.container).offset().left)>=r(t).offset().left+e.threshold+r(t).width()},r.inviewport=function(t,e){return!(r.rightoffold(t,e)||r.leftofbegin(t,e)||r.belowthefold(t,e)||r.abovethetop(t,e))},r.extend(r.expr[":"],{"below-the-fold":function(t){return r.belowthefold(t,{threshold:0})},"above-the-top":function(t){return!r.belowthefold(t,{threshold:0})},"right-of-screen":function(t){return r.rightoffold(t,{threshold:0})},"left-of-screen":function(t){return!r.rightoffold(t,{threshold:0})},"in-viewport":function(t){return r.inviewport(t,{threshold:0})},"above-the-fold":function(t){return!r.belowthefold(t,{threshold:0})},"right-of-fold":function(t){return r.rightoffold(t,{threshold:0})},"left-of-fold":function(t){return!r.rightoffold(t,{threshold:0})}})}(jQuery,window,document);return jQuery;}));

View File

@@ -0,0 +1,4 @@
(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){
/*! Widget: mark.js - updated 9/23/2016 (v2.27.7) */
!function(c){"use strict";var d=c.tablesorter;d.mark={init:function(r){if("function"==typeof c.fn.mark){var e,n=r.widgetOptions.mark_tsUpdate;r.$table.on("filterEnd.tsmark pagerComplete.tsmark"+(n?" "+n:""),function(e,t){d.mark.update(r,e.type===n?t:"")}),e="(?:<|=|>|\\||\"|\\'|\\s+(?:&&|-|"+(d.language.and||"and")+"|"+(d.language.or||"or")+"|"+(d.language.to||"to")+")\\s+)",d.mark.regex.filter=new RegExp(e,"gim")}else console.warn('Widget-mark not initialized: missing "jquery.mark.js"')},regex:{mark:/^mark_(.+)$/,pure:/^\/((?:\\\/|[^\/])+)\/([mig]{0,3})?$/},checkRegex:function(e){if(e instanceof RegExp){var t="".match(e);return null===t||t.length<5}return!1},cleanMatches:function(e){for(var t=[],r=e&&e.length||0;r--;)""!==e[r]&&(t[t.length]=e[r]);return t},ignoreColumns:function(e){for(var t=e.widgetOptions,r=e.columns,n=[];r--;)(t.mark_tsIgnore[r]||c(e.$headerIndexed[r]).hasClass("mark-ignore"))&&(n[n.length]=":nth-child("+(r+1)+")");return n.length?":not("+n.join(",")+")":""},update:function(o,e){var l={},g=o.widgetOptions,m=d.mark.regex,s=o.$table.find("tbody tr").unmark().not("."+(o.widgetOptions.filter_filteredRow||"filtered"));e=e||c.tablesorter.getFilters(o.$table),c.each(o.widgetOptions,function(e,t){var r=e.match(m.mark);r&&void 0!==r[1]&&(l[r[1]]=t)}),c.each(e,function(e,t){if(t&&!c(o.$headerIndexed[e]).hasClass("mark-ignore")&&!g.mark_tsIgnore[e]){var r=null,n=t,a=!1,i=e===o.columns?d.mark.ignoreColumns(o):":nth-child("+(e+1)+")";if(m.pure.test(t)){".*"===(n=m.pure.exec(t))[1]&&(n[1]="");try{r=new RegExp(n[1],"gim"),n=new RegExp(n[1],n[2])}catch(e){n=null}return void(d.mark.checkRegex(r)&&s.children(i).markRegExp(n,l))}n=0===t.indexOf("~")?(a=!0,t.replace(/~/g,"").split("")):(-1<t.indexOf("?")&&(a=!0,t=t.replace(/\?/g,"\\S{1}")),-1<t.indexOf("*")&&(a=!0,t=t.replace(/\*/g,"\\S*")),t.split(m.filter)),a&&n&&n.length?(n=new RegExp(d.mark.cleanMatches(n).join(".*"),"gm"),d.mark.checkRegex(n)&&s.children(i).markRegExp(n,l)):s.children(i).mark(d.mark.cleanMatches(n),l)}})}},d.addWidget({id:"mark",options:{mark_tsUpdate:"markUpdate",mark_tsIgnore:{}},init:function(e,t,r,n){d.mark.init(r,n)},remove:function(e,t){var r=t.widgetOptions.mark_tsUpdate;t.$table.off("filterEnd.tsmark pagerComplete.tsmark"+(r?" "+r:""))}})}(jQuery);return jQuery;}));

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View 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){
!function(a){"use strict";var p=a.tablesorter,s=p.printTable={event:"printTable",basicStyle:"table, tr, td, th { border : solid 1px black; border-collapse : collapse; } td, th { padding: 2px; }",popupStyle:"width=500,height=300,scrollbars=1,resizable=1",init:function(t){t.$table.unbind(s.event).bind(s.event,function(){return s.process(t,t.widgetOptions),!1})},process:function(t,e){var i,n,r=a("<div/>").append(t.$table.clone()),o=s.basicStyle+"table { width: 100%; }."+(p.css.filterRow||"tablesorter-filter-row")+", ."+(e.filter_filteredRow||"filtered")+" { display: none; }."+(p.css.header||"tablesorter-header")+" { background-image: none !important; }@media print { .print_widget_hidden { display: none; } }";r.find("["+e.print_dataAttrib+"]").each(function(){(i=a(this)).text(i.attr(e.print_dataAttrib))}),n="data-"+(e.lazyload_data_attribute||"original"),r.find("img["+n+"]").each(function(){(i=a(this)).attr("src",i.attr(n))}),/^f/i.test(e.print_rows)?o+="tbody tr:not(."+(e.filter_filteredRow||"filtered")+") { display: table-row !important; }":/^a/i.test(e.print_rows)?o+="tbody tr { display: table-row !important; }":/^[.#:\[]/.test(e.print_rows)&&(o+="tbody tr"+e.print_rows+" { display: table-row !important; }"),/s/i.test(e.print_columns)&&t.selector&&p.hasWidget(t.table,"columnSelector")?o+=e.columnSelector_mediaquery&&t.selector.auto?"":t.selector.$style.text():/a/i.test(e.print_columns)&&(o+="td, th { display: table-cell !important; }"),o+=e.print_extraCSS,a.isFunction(e.print_callback)?e.print_callback(t,r,o):s.printOutput(t,r.html(),o)},printOutput:function(t,e,i){var n=t.widgetOptions,r=p.language,o=window.open("",n.print_title,s.popupStyle),a=n.print_title||t.$table.find("caption").text()||t.$table[0].id||document.title||"table",l=n.print_now?"":'<div class="print_widget_hidden"><a href="javascript:window.print();"><button type="button">'+r.button_print+'</button></a> <a href="javascript:window.close();"><button type="button">'+r.button_close+"</button></a><hr></div>";return o.document.write("<html><head><title>"+a+"</title>"+(n.print_styleSheet?'<link rel="stylesheet" href="'+n.print_styleSheet+'">':"")+"<style>"+i+"</style></head><body>"+l+e+"</body></html>"),o.document.close(),n.print_now&&setTimeout(function(){o.print(),o.close()},10),!0},remove:function(t){t.$table.off(s.event)}};p.language.button_close="Close",p.language.button_print="Print",p.addWidget({id:"print",options:{print_title:"",print_dataAttrib:"data-name",print_rows:"filtered",print_columns:"selected",print_extraCSS:"",print_styleSheet:"",print_now:!0,print_callback:null},init:function(t,e,i){s.init(i)},remove:function(t,e){s.remove(e)}})}(jQuery);return jQuery;}));

View 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){
!function(u){"use strict";var h=u.tablesorter,w={init:function(e,t,l){var o,r=l.reflow_dataAttrib,a=l.reflow_headerAttrib,s=[];t.$table.addClass(l.reflow_className).off("refresh.tsreflow updateComplete.tsreflow2").on("refresh.tsreflow updateComplete.tsreflow2",function(){w.init(e,t,l)}),t.$headers.each(function(){o=u(this),s.push(u.trim(o.attr(a)||o.text()))}),t.$tbodies.children().each(function(){u(this).children().each(function(e){u(this).attr(r,s[e])})})},init2:function(e,t,l){var o,r,a,s,i,n,f=t.columns,c=l.reflow2_headerAttrib,d=[];for(t.$table.addClass(l.reflow2_className).off("refresh.tsreflow2 updateComplete.tsreflow2").on("refresh.tsreflow2 updateComplete.tsreflow2",function(){w.init2(e,t,l)}),a=0;a<f;a++)1<(s=t.$headers.filter('[data-column="'+a+'"]')).length?(i=[],s.each(function(){(o=u(this)).hasClass(l.reflow2_classIgnore)||i.push(o.attr(c)||o.text())})):i=[s.attr(c)||s.text()],d.push(i);i='<b class="'+t.selectorRemove.slice(1)+" "+l.reflow2_labelClass,t.$tbodies.children().each(function(){(r=h.processTbody(e,u(this),!0)).children().each(function(e){for(o=u(this),n=d[e].length,a=n-1;0<=a;)o.prepend(i+(0===a&&1<n?" "+l.reflow2_labelTop:"")+'">'+d[e][a]+"</b>"),a--}),h.processTbody(e,r,!1)})},remove:function(e,t,l){t.$table.removeClass(l.reflow_className)},remove2:function(e,t,l){t.$table.removeClass(l.reflow2_className)}};h.addWidget({id:"reflow",options:{reflow_className:"ui-table-reflow",reflow_headerAttrib:"data-name",reflow_dataAttrib:"data-title"},init:function(e,t,l,o){w.init(e,l,o)},remove:function(e,t,l){w.remove(e,t,l)}}),h.addWidget({id:"reflow2",options:{reflow2_className:"ui-table-reflow",reflow2_classIgnore:"ui-table-reflow-ignore",reflow2_headerAttrib:"data-name",reflow2_labelClass:"ui-table-cell-label",reflow2_labelTop:"ui-table-cell-label-top"},init:function(e,t,l,o){w.init2(e,l,o)},remove:function(e,t,l){w.remove2(e,t,l)}})}(jQuery);return jQuery;}));

View File

@@ -0,0 +1,4 @@
(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){
/*! Widget: repeatHeaders - updated 9/23/2016 (v2.27.7) */
!function(n){"use strict";n.tablesorter.addWidget({id:"repeatHeaders",priority:10,options:{rowsToSkip:4},format:function(e,r,t){var a,o,d,i,s="";if(!t.repeatHeaders){for(s='<tr class="repeated-header '+r.selectorRemove.slice(1)+'">',a=0;a<r.columns;a++)s+="<th>"+n.trim(r.$headers.eq(a).html())+"</th>";t.repeatHeaders=s+"</tr>"}for(i=t&&t.rowsToSkip||4,r.$table.find("tr.repeated-header").remove(),d=(o=r.$tbodies.find("tr")).length,a=i;a<d;a+=i)o.eq(a).before(t.repeatHeaders)},remove:function(e,r,t){t.repeatHeaders="",r.$table.find("tr.repeated-header").remove()}})}(jQuery);return jQuery;}));

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,4 @@
(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){
/*! Widget: saveSort - updated 2018-03-19 (v2.30.1) */
!function(o){"use strict";var v=o.tablesorter||{};function g(t){var s=v.storage(t.table,"tablesorter-savesort");return s&&s.hasOwnProperty("sortList")&&o.isArray(s.sortList)?s.sortList:[]}function S(t,s){return(s||g(t)).join(",")!==t.sortList.join(",")}v.addWidget({id:"saveSort",priority:20,options:{saveSort:!0},init:function(t,s,o,r){s.format(t,o,r,!0)},format:function(s,t,o,r){var a,e=t.$table,i=!1!==o.saveSort,n={sortList:t.sortList},l=v.debug(t,"saveSort");l&&(a=new Date),e.hasClass("hasSaveSort")?i&&s.hasInitialized&&v.storage&&S(t)&&(v.storage(s,"tablesorter-savesort",n),l&&console.log("saveSort >> Saving last sort: "+t.sortList+v.benchmark(a))):(e.addClass("hasSaveSort"),n="",v.storage&&(n=g(t),l&&console.log('saveSort >> Last sort loaded: "'+n+'"'+v.benchmark(a)),e.bind("saveSortReset",function(t){t.stopPropagation(),v.storage(s,"tablesorter-savesort","")})),r&&n&&0<n.length?t.sortList=n:s.hasInitialized&&n&&0<n.length&&S(t,n)&&v.sortOn(t,n))},remove:function(t,s){s.$table.removeClass("hasSaveSort"),v.storage&&v.storage(t,"tablesorter-savesort","")}})}(jQuery);return jQuery;}));

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,4 @@
(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){
/*! Widget: sort2Hash (BETA) - updated 9/27/2017 (v2.29.0) */
!function(g){"use strict";var p=g.tablesorter||{},u=p.sort2Hash={init:function(e,t){var a,r,o,s,n=e.table,i=e.pager,h=p.hasWidget(n,"saveSort"),l=u.decodeHash(e,t,"sort");(l&&!h||l&&h&&t.sort2Hash_overrideSaveSort)&&u.convertString2Sort(e,t,l),p.hasWidget(e.table,"pager")&&(r=parseInt(u.decodeHash(e,t,"page"),10),o=i.page=r<0?0:r>i.totalPages?i.totalPages-1:r,s=i.size=parseInt(u.decodeHash(e,t,"size"),10)),p.hasWidget(n,"filter")&&(a=u.decodeHash(e,t,"filter"))&&(a=a.split(t.sort2Hash_separator),e.$table.one("tablesorter-ready",function(){setTimeout(function(){e.$table.one("filterEnd",function(){g(this).triggerHandler("pageAndSize",[o,s])}),(r=p.filter.equalFilters?p.filter.equalFilters(e,e.lastSearch,a):(e.lastSearch||[]).join("")!==(a||[]).join(""))||g.tablesorter.setFilters(n,a,!0)},100)})),a||e.$table.one("tablesorter-ready",function(){e.$table.triggerHandler("pageAndSize",[o,s])}),e.$table.on("sortEnd.sort2hash filterEnd.sort2hash pagerComplete.sort2Hash",function(){this.hasInitialized&&u.setHash(this.config,this.config.widgetOptions)})},getTableId:function(e,t){return t.sort2Hash_tableId||e.table.id||"table"+g("table").index(e.$table)},regexEscape:function(e){return e.replace(/([\.\^\$\*\+\-\?\(\)\[\]\{\}\\\|])/g,"\\$1")},convertString2Sort:function(e,t,a){for(var r,o,s,n,i,h,l=a.split(t.sort2Hash_separator),d=0,c=l.length,H=[];d<c;){if(o=l[d++],n=parseInt(o,10),isNaN(n)||n>e.columns)for(r=new RegExp("("+u.regexEscape(o)+")","i"),i=0;i<e.columns;i++)h=e.$headerIndexed[i],r.test(h.attr(t.sort2Hash_headerTextAttr))&&(o=i,i=e.columns);s=l[d++],void 0!==o&&void 0!==s&&(isNaN(s)&&(s=-1<s.indexOf(t.sort2Hash_directionText[1])?1:0),H.push([o,s]))}H.length&&(e.sortList=H)},convertSort2String:function(e,t){var a,r,o,s,n=[],i=e.sortList||[],h=i.length;for(a=0;a<h;a++)o=i[a][0],r=g.trim(e.$headerIndexed[o].attr(t.sort2Hash_headerTextAttr)),n.push(""!==r?encodeURIComponent(r):o),s=t.sort2Hash_directionText[i[a][1]],n.push(s);return n.join(t.sort2Hash_separator)},convertFilter2String:function(e,t){var a,r,o,s,n=[],i=e.sortList||[],h=i.length;for(a=0;a<h;a++)o=i[a][0],o=void 0!==(r=g.trim(e.$headerIndexed[o].attr(t.sort2Hash_headerTextAttr)))?encodeURIComponent(r):o,n.push(o),s=t.sort2Hash_directionText[i[a][1]],n.push(s);return n.join(t.sort2Hash_separator)},getParam:function(e,t,a){t=t||window.location.hash;var r=new RegExp("[\\?&]"+u.regexEscape(e)+"=([^&#]*)"),o=r.exec(t);return a?r:null===o?"":decodeURIComponent(o[1])},removeParam:function(e,t){t=t||window.location.hash;var a,r=u.getParam(e,t,!0),o=[],s=t.split("&"),n=s.length;for(a=0;a<n;a++)r.test("&"+s[a])||o.push(s[a]);return o.length?o.join("&"):""},encodeHash:function(e,t,a,r,o){var s=!1,n=u.getTableId(e,t);return"function"==typeof t.sort2Hash_encodeHash&&(s=t.sort2Hash_encodeHash(e,n,a,r,o||r)),!1===s&&(s="&"+a+"["+n+"]="+r),s},decodeHash:function(e,t,a){var r=!1,o=u.getTableId(e,t);return"function"==typeof t.sort2Hash_decodeHash&&(r=t.sort2Hash_decodeHash(e,o,a)),!1===r&&(r=u.getParam(a+"["+o+"]")),r||""},cleanHash:function(e,t,a,r){var o=!1,s=u.getTableId(e,t);return"function"==typeof t.sort2Hash_cleanHash&&(o=t.sort2Hash_cleanHash(e,s,a,r)),!1===o&&(o=u.removeParam(a+"["+s+"]",r)),o||""},setHash:function(a,r){var o="",s=window.location.hash,e=p.hasWidget(a.table,"pager"),t=p.hasWidget(a.table,"filter"),n=u.convertSort2String(a,r),i=t&&""!==a.lastSearch.join("")?a.lastSearch:[],h=encodeURIComponent(i.join(a.widgetOptions.sort2Hash_separator)),l={sort:n?u.encodeHash(a,r,"sort",n,a.sortList):"",page:e?u.encodeHash(a,r,"page",a.pager.page+1):"",size:e?u.encodeHash(a,r,"size",a.pager.size):"",filter:h?u.encodeHash(a,r,"filter",h,i):""};g.each(l,function(e,t){s=u.cleanHash(a,r,e,s),o+=t});var d=r.sort2Hash_hash,c=((window.location.hash||"").replace(d,"").length?s:d)+o;if(r.sort2Hash_replaceHistory){var H=window.location.href.split(d)[0];c[0]!==d&&(c=d+c),window.location.replace(H+c)}else window.location.hash=c}};p.addWidget({id:"sort2Hash",priority:60,options:{sort2Hash_hash:"#",sort2Hash_separator:"-",sort2Hash_headerTextAttr:"data-header",sort2Hash_directionText:[0,1],sort2Hash_overrideSaveSort:!1,sort2Hash_replaceHistory:!1,sort2Hash_tableId:null,sort2Hash_encodeHash:null,sort2Hash_decodeHash:null,sort2Hash_cleanHash:null},init:function(e,t,a,r){u.init(a,r)},remove:function(e,t){t.$table.off(".sort2hash")}})}(jQuery);return jQuery;}));

View File

@@ -0,0 +1,8 @@
(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){
/*! tablesorter tbody sorting widget (BETA) - 11/26/2016 (v2.28.0)
* Requires tablesorter v2.22.2+ and jQuery 1.4+
* by Rob Garrison
* Contributors: Chris Rogers
*/
!function(x){"use strict";var q=x.tablesorter;q.sortTbodies={init:function(o,r){var t,e,s,n,i,d=o.namespace+"sortTbody",a=o.$table.children("tbody"),b=a.length;for(r.sortTbody_original_serverSideSorting=o.serverSideSorting,r.sortTbody_original_cssInfoBlock=o.cssInfoBlock,o.cssInfoBlock=r.sortTbody_noSort,q.sortTbodies.setTbodies(o,r),t=0;t<b;t++)a.eq(t).attr("data-ts-original-order",t);for(o.$table.unbind("sortBegin updateComplete ".split(" ").join(d+" ")).bind("sortBegin"+d,function(){q.sortTbodies.sorter(o)}).bind("updateComplete"+d,function(){q.sortTbodies.setTbodies(o,r),q.updateCache(o,null,o.$tbodies)}).bind("sortEnd",function(){var t=r.sortTbody_primaryRow;r.sortTbody_lockHead&&t&&o.$table.find(t).each(function(){x(this).parents("tbody").prepend(this)})}),!x.isEmptyObject(o.parsers)&&o.$tbodies.length===a.length||(q.sortTbodies.setTbodies(o,r),q.updateCache(o,null,o.$tbodies)),b=(i=a.children("tr")).length,t=0;t<o.columns;t++){if(n=0,"numeric"===o.parsers[t].type)for(e=0;e<b;e++)s=q.getParsedText(o,i.eq(e).children()[t],t),n=Math.max(Math.abs(s)||0,n);o.$headerIndexed[t].attr("data-ts-col-max-value",n)}},setTbodies:function(t,o){t.$tbodies=t.$table.children("tbody").not("."+o.sortTbody_noSort)},sorter:function(m){var t=m.$table,o=m.widgetOptions;if(!0!==o.sortTbody_busy){o.sortTbody_busy=!0;var r=t.children("tbody").not("."+o.sortTbody_noSort),S=o.sortTbody_primaryRow||"tr:eq(0)",v=m.sortList||[],$=v.length;$&&(m.serverSideSorting=!o.sortTbody_sortRows,r.sort(function(t,o){var r,e,s,n,i,d,a,b,l,c,y,T=m.table,p=m.parsers,f=m.textSorter||"",u=x(t),g=x(o),h=u.find(S).children("td, th"),_=g.find(S).children("td, th");for(r=0;r<$;r++){if(a=v[r][0],s=0===v[r][1],e=q.getElementText(m,h.eq(a),a),b=p[a].format(e,T,h[a],a),e=q.getElementText(m,_.eq(a),a),l=p[a].format(e,T,_[a],a),m.sortStable&&b===l&&1===$)return u.attr("data-ts-original-order")-g.attr("data-ts-original-order");if(d=(n=/n/i.test(p&&p[a]&&p[a].type||""))&&m.strings[a]?(i=m.$headerIndexed[a].attr("data-ts-col-max-value")||179e306,n="boolean"==typeof q.string[m.strings[a]]?(s?1:-1)*(q.string[m.strings[a]]?-1:1):m.strings[a]&&q.string[m.strings[a]]||0,m.numberSorter?m.numberSorter(b,l,s,i,T):q["sortNumeric"+(s?"Asc":"Desc")](b,l,n,i,a,m)):(c=s?b:l,y=s?l:b,"function"==typeof f?f(c,y,s,a,T):"object"==typeof f&&f.hasOwnProperty(a)?f[a](c,y,s,a,T):q["sortNatural"+(s?"Asc":"Desc")](b,l,a,m)))return d}return u.attr("data-ts-original-order")-g.attr("data-ts-original-order")}),q.sortTbodies.restoreTbodies(m,o,r),o.sortTbody_busy=!1)}},restoreTbodies:function(t,o,r){var e,s,n,i,d,a,b,l=t.$table,c=!0,y=0;if(l.hide(),r.appendTo(l),i=(s=l.children("tbody")).length,d=(e=s.filter("."+o.sortTbody_noSort).appendTo(l)).length)for(;c&&y<d;){for(c=!1,a=0;a<d;a++)(b=i<=(b=parseInt(e.eq(a).attr("data-ts-original-order"),10))?i:b<0?0:b)!==e.eq(a).index()&&(c=!0,n=e.eq(a).detach(),i<=b?n.appendTo(l):0===b?n.prependTo(l):n.insertBefore(l.children("tbody:eq("+b+")")));y++}l.show()}},q.addWidget({id:"sortTbody",priority:40,options:{sortTbody_lockHead:!1,sortTbody_primaryRow:null,sortTbody_sortRows:!1,sortTbody_noSort:"tablesorter-no-sort-tbody"},init:function(t,o,r,e){q.sortTbodies.init(r,e)},remove:function(t,o,r){o.$table.unbind("sortBegin updateComplete ".split(" ").join(o.namespace+"sortTbody ")),o.serverSideSorting=r.sortTbody_original_serverSideSorting,o.cssInfoBlock=r.sortTbody_original_cssInfoBlock}})}(jQuery);return jQuery;}));

View File

@@ -0,0 +1,4 @@
(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){
/*! widget: staticRow - updated 10/31/2015 (v2.24.0) */
!function(p){"use strict";function s(t){var e,i,a,s,o,n=t.config;n&&(i=n.widgetOptions,n.$tbodies.each(function(){e=p(this).children(),o=e.length,e.filter(i.staticRow_class).each(function(){e=p(this),s=void 0!==(s=e.data(i.staticRow_index))?(a=parseFloat(s),/%/.test(s)?Math.round(a/100*o):a):e.index(),e.data(i.staticRow_data,s)})}))}var o=p.tablesorter;o.addWidget({id:"staticRow",options:{staticRow_class:".static",staticRow_data:"static-index",staticRow_index:"row-index",staticRow_event:"staticRowsRefresh"},init:function(t,e,i,a){s(t),i.$table.unbind(("updateComplete.tsstaticrows "+a.staticRow_event).replace(/\s+/g," ")).bind("updateComplete.tsstaticrows "+a.staticRow_event,function(){s(t),o.applyWidget(t)})},format:function(t,e,i){var a,s,o,n,c,d,r,l;e.$tbodies.each(function(){for(c=p.tablesorter.processTbody(t,p(this),!0),d=!0,o=0,r=c.children(i.staticRow_class),n=c.children("tr").length-1,l=r.length;d&&o<l;)d=!1,r.each(function(){a=p(this).data(i.staticRow_data),(a=n<=a?n:a<0?0:a)!==p(this).index()&&(d=!0,s=p(this).detach(),n<=a?s.appendTo(c):0===a?s.prependTo(c):s.insertBefore(c.find("tr:eq("+a+")")))}),o++;p.tablesorter.processTbody(t,c,!1)}),e.$table.triggerHandler("staticRowsComplete",t)},remove:function(t,e,i){e.$table.unbind(("updateComplete.tsstaticrows "+i.staticRow_event).replace(/\s+/g," "))}})}(jQuery);return jQuery;}));

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,4 @@
(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){
/*! Widget: storage - updated 2018-03-18 (v2.30.0) */
!function(m,y,O){"use strict";var w=m.tablesorter||{};m.extend(!0,w.defaults,{fixedUrl:"",widgetOptions:{storage_fixedUrl:"",storage_group:"",storage_page:"",storage_storageType:"",storage_tableId:"",storage_useSessionStorage:""}}),w.storage=function(e,t,r,o){var s,a,i,g=!1,n={},p=(e=m(e)[0]).config,l=p&&p.widgetOptions,d=w.debug(p,"storage"),u=(o&&o.storageType||l&&l.storage_storageType).toString().charAt(0).toLowerCase(),S=u?"":o&&o.useSessionStorage||l&&l.storage_useSessionStorage,c=m(e),_=o&&o.id||c.attr(o&&o.group||l&&l.storage_group||"data-table-group")||l&&l.storage_tableId||e.id||m(".tablesorter").index(c),f=o&&o.url||c.attr(o&&o.page||l&&l.storage_page||"data-table-page")||l&&l.storage_fixedUrl||p&&p.fixedUrl||y.location.pathname;if("c"!==u&&(u="s"===u||S?"sessionStorage":"localStorage")in y)try{y[u].setItem("_tmptest","temp"),g=!0,y[u].removeItem("_tmptest")}catch(e){console.warn(u+" is not supported in this browser")}if(d&&console.log("Storage >> Using",g?u:"cookies"),m.parseJSON&&(n=g?m.parseJSON(y[u][t]||"null")||{}:(a=O.cookie.split(/[;\s|=]/),0!==(s=m.inArray(t,a)+1)&&m.parseJSON(a[s]||"null")||{})),void 0===r||!y.JSON||!JSON.hasOwnProperty("stringify"))return n&&n[f]?n[f][_]:"";n[f]||(n[f]={}),n[f][_]=r,g?y[u][t]=JSON.stringify(n):((i=new Date).setTime(i.getTime()+31536e6),O.cookie=t+"="+JSON.stringify(n).replace(/\"/g,'"')+"; expires="+i.toGMTString()+"; path=/")}}(jQuery,window,document);return jQuery;}));

View File

@@ -0,0 +1,7 @@
(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){
/*! tablesorter enable/disable sort & filter (BETA) - 11/10/2015 (v2.24.4)
* Requires tablesorter v2.24.4+ & jQuery 1.7+
* by Rob Garrison
*/
!function(){"use strict";var g=jQuery.tablesorter,s=g.toggleTS={init:function(e,l){l.toggleTS_isEnabled=!0,l.toggleTS_areDisabled={headers:[],filters:[]},e.$table.on("enable.toggleTS disable.toggleTS",function(e){s.toggle(this.config,this.config.widgetOptions,"enable"===e.type)})},toggle:function(e,l,t){if(l.toggleTS_isEnabled!==t){l.toggleTS_isEnabled=t;var i,s,o=e.$headers.length;for(i=0;i<o;i++)s=e.$headers.eq(i),g.setColumnSort(e,s,!t),g.setColumnAriaLabel(e,s,t);if(l.toggleTS_hideFilterRow)e.$table.find("."+g.css.filterRow).toggle(t);else if(g.hasWidget(e.$table,"filter"))for(o=e.$filters.length,i=0;i<o;i++)t&&!l.toggleTS_areDisabled.filters[i]?e.$filters.eq(i).find("input, select").removeClass(g.css.filterDisabled).prop("disabled",!1):t||((s=e.$filters.eq(i).find("input, select")).hasClass(g.css.filterDisabled)&&(l.toggleTS_areDisabled.filters[i]=!0),s.addClass(g.css.filterDisabled).prop("disabled",!0));l.filter_$externalFilters.toggleClass(g.css.filterDisabled,t).prop("disabled",!t)}"function"==typeof l.toggleTS_callback&&l.toggleTS_callback(e,t)}};g.addWidget({id:"toggle-ts",options:{toggleTS_hideFilterRow:!1,toggleTS_callback:null},init:function(e,l,t,i){s.init(t,i)},remove:function(e,l){l.$table.off("enable.toggleTS disable.toggleTS")}})}();return jQuery;}));

View File

@@ -0,0 +1,4 @@
(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){
/*! Widget: uitheme - updated 2018-03-18 (v2.30.0) */
!function(A){"use strict";var N=A.tablesorter||{};N.themes={bootstrap:{table:"table table-bordered table-striped",caption:"caption",header:"bootstrap-header",sortNone:"",sortAsc:"",sortDesc:"",active:"",hover:"",icons:"",iconSortNone:"bootstrap-icon-unsorted",iconSortAsc:"glyphicon glyphicon-chevron-up",iconSortDesc:"glyphicon glyphicon-chevron-down",filterRow:"",footerRow:"",footerCells:"",even:"",odd:""},jui:{table:"ui-widget ui-widget-content ui-corner-all",caption:"ui-widget-content",header:"ui-widget-header ui-corner-all ui-state-default",sortNone:"",sortAsc:"",sortDesc:"",active:"ui-state-active",hover:"ui-state-hover",icons:"ui-icon",iconSortNone:"ui-icon-carat-2-n-s ui-icon-caret-2-n-s",iconSortAsc:"ui-icon-carat-1-n ui-icon-caret-1-n",iconSortDesc:"ui-icon-carat-1-s ui-icon-caret-1-s",filterRow:"",footerRow:"",footerCells:"",even:"ui-widget-content",odd:"ui-state-default"}},A.extend(N.css,{wrapper:"tablesorter-wrapper"}),N.addWidget({id:"uitheme",priority:10,format:function(e,o,t){var s,r,i,a,n,c,l,d,h,m,u,p,v,f=N.themes,b=o.$table.add(A(o.namespace+"_extra_table")),C=o.$headers.add(A(o.namespace+"_extra_headers")),w=o.theme||"jui",S=f[w]||{},g=A.trim([S.sortNone,S.sortDesc,S.sortAsc,S.active].join(" ")),j=A.trim([S.iconSortNone,S.iconSortDesc,S.iconSortAsc].join(" ")),D=N.debug(o,"uitheme");for(D&&(n=new Date),b.hasClass("tablesorter-"+w)&&o.theme===o.appliedTheme&&t.uitheme_applied||(t.uitheme_applied=!0,m=f[o.appliedTheme]||{},u=(v=!A.isEmptyObject(m))?[m.sortNone,m.sortDesc,m.sortAsc,m.active].join(" "):"",p=v?[m.iconSortNone,m.iconSortDesc,m.iconSortAsc].join(" "):"",v&&(t.zebra[0]=A.trim(" "+t.zebra[0].replace(" "+m.even,"")),t.zebra[1]=A.trim(" "+t.zebra[1].replace(" "+m.odd,"")),o.$tbodies.children().removeClass([m.even,m.odd].join(" "))),S.even&&(t.zebra[0]+=" "+S.even),S.odd&&(t.zebra[1]+=" "+S.odd),b.children("caption").removeClass(m.caption||"").addClass(S.caption),d=b.removeClass((o.appliedTheme?"tablesorter-"+(o.appliedTheme||""):"")+" "+(m.table||"")).addClass("tablesorter-"+w+" "+(S.table||"")).children("tfoot"),o.appliedTheme=o.theme,d.length&&d.children("tr").removeClass(m.footerRow||"").addClass(S.footerRow).children("th, td").removeClass(m.footerCells||"").addClass(S.footerCells),C.removeClass((v?[m.header,m.hover,u].join(" "):"")||"").addClass(S.header).not(".sorter-false").unbind("mouseenter.tsuitheme mouseleave.tsuitheme").bind("mouseenter.tsuitheme mouseleave.tsuitheme",function(e){A(this)["mouseenter"===e.type?"addClass":"removeClass"](S.hover||"")}),C.each(function(){var e=A(this);e.find("."+N.css.wrapper).length||e.wrapInner('<div class="'+N.css.wrapper+'" style="position:relative;height:100%;width:100%"></div>')}),o.cssIcon&&C.find("."+N.css.icon).removeClass(v?[m.icons,p].join(" "):"").addClass(S.icons||""),N.hasWidget(o.table,"filter")&&(r=function(){b.children("thead").children("."+N.css.filterRow).removeClass(v&&m.filterRow||"").addClass(S.filterRow||"")},t.filter_initialized?r():b.one("filterInit",function(){r()}))),s=0;s<o.columns;s++)c=o.$headers.add(A(o.namespace+"_extra_headers")).not(".sorter-false").filter('[data-column="'+s+'"]'),l=N.css.icon?c.find("."+N.css.icon):A(),(h=C.not(".sorter-false").filter('[data-column="'+s+'"]:last')).length&&(c.removeClass(g),l.removeClass(j),h[0].sortDisabled?l.removeClass(S.icons||""):(i=S.sortNone,a=S.iconSortNone,h.hasClass(N.css.sortAsc)?(i=[S.sortAsc,S.active].join(" "),a=S.iconSortAsc):h.hasClass(N.css.sortDesc)&&(i=[S.sortDesc,S.active].join(" "),a=S.iconSortDesc),c.addClass(i),l.addClass(a||"")));D&&console.log("uitheme >> Applied "+w+" theme"+N.benchmark(n))},remove:function(e,o,t,s){if(t.uitheme_applied){var r=o.$table,i=o.appliedTheme||"jui",a=N.themes[i]||N.themes.jui,n=r.children("thead").children(),c=a.sortNone+" "+a.sortDesc+" "+a.sortAsc,l=a.iconSortNone+" "+a.iconSortDesc+" "+a.iconSortAsc;r.removeClass("tablesorter-"+i+" "+a.table),t.uitheme_applied=!1,s||(r.find(N.css.header).removeClass(a.header),n.unbind("mouseenter.tsuitheme mouseleave.tsuitheme").removeClass(a.hover+" "+c+" "+a.active).filter("."+N.css.filterRow).removeClass(a.filterRow),n.find("."+N.css.icon).removeClass(a.icons+" "+l))}}})}(jQuery);return jQuery;}));

View File

@@ -0,0 +1,4 @@
(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){
/*! Widget: vertical-group (BETA) - updated 12/13/2017 (v2.29.1) */
!function(h){"use strict";var G=h.tablesorter,f=G.css;function g(r){r.removeClass(f.verticalGroupHide+" "+f.verticalGroupShow)}function C(r,e,a){e.parent().removeClass(r.zebra[(a+1)%2]).addClass(r.zebra[a%2])}function r(r,e,a){var o=-1,i=r.tBodies[0].rows,t=G.hasWidget(r,"zebra"),l=[],s=[];if(!a.vertical_group_lock){if(a.vertical_group_lock=!0,""===(l=h.map(e.$headerIndexed,function(r){return r.hasClass(f.verticalGroupHeader)?1:""})).join(""))return g(h(i).find("."+f.verticalGroupHide+",."+f.verticalGroupShow)),void(a.vertical_group_lock=!1);for(var c=0;c<i.length;c++)for(var u=!1,v=0;v<e.columns;v++)if(l[v]&&i[c].cells[v]){var d=h(i[c].cells[v]),p=G.isValueInArray(v,e.sortList),n=d.html();p<0?g(d):u||n!==s[v]?0===p&&(u=!0,d.hasClass(f.verticalGroupShow)||d.addClass(f.verticalGroupShow),d.removeClass(f.verticalGroupHide),t&&C(a,d,p?o:++o)):(d.hasClass(f.verticalGroupHide)||d.addClass(f.verticalGroupHide),t&&C(a,d,o),d.removeClass(f.verticalGroupShow)),s[v]=n}else o++;a.vertical_group_lock=!1}}h.extend(G.css,{verticalGroupHeader:"tablesorter-vertical-group",verticalGroupHide:"tablesorter-vertical-group-hide",verticalGroupShow:"tablesorter-vertical-group-show"}),G.addWidget({id:"vertical-group",priority:99,init:r,format:r})}(jQuery);return jQuery;}));

View 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){
!function(r){"use strict";var i,a,o,n=r.tablesorter,l=!1,c=n.view={copyCaption:function(e,t){c.removeCaption(e,t),0<e.$table.find("caption").length&&r(t.view_caption).text(e.$table.find("caption").text())},removeCaption:function(e,t){r(t.view_caption).empty()},buildToolBar:function(t,o){c.removeToolBar(t,o),c.copyCaption(t,o);var n=r(o.view_toolbar);r.each(o.view_layouts,function(e,t){var i=o.view_switcher_class;e===o.view_layout&&(i+=" active");var a=r("<a>",{href:"#","class":i,"data-view-type":e,title:t.title});a.append(r("<i>",{"class":t.icon})),n.append(a)}),n.find("."+o.view_switcher_class).on("click",function(e){if(e.preventDefault(),r(this).hasClass("active"))return!1;n.find("."+o.view_switcher_class).removeClass("active"),r(this).addClass("active"),o.view_layout=r(this).attr("data-view-type"),!0===o.view_layouts[o.view_layout].raw?(c.remove(t,o),c.buildToolBar(t,o)):(!1===l&&c.hideTable(t,o),c.buildView(t,o))})},removeToolBar:function(e,t){r(t.view_toolbar).empty(),c.removeCaption(e,t)},buildView:function(e,t){c.removeView(e,t);var a=t.view_layouts[t.view_layout],o=r(a.container,{"class":t.view_layout});n.getColumnText(e.$table,0,function(e){var l=a.tmpl;r.each(r(e.$row).find("td"),function(e,t){var i={},a="{col"+e+"}";r.each(t.attributes,function(e,t){i[t.nodeName]=t.nodeValue});var o=r(t).html(),n=r("<span />").append(r("<span/>",i).append(o));l=l.replace(new RegExp(a,"g"),n.html()),a="{col"+e+":raw}",l=l.replace(new RegExp(a,"g"),r(t).text())});var i=r(l);r.each(e.$row[0].attributes,function(e,t){"class"===t.nodeName?i.attr(t.nodeName,i.attr(t.nodeName)+" "+t.nodeValue):i.attr(t.nodeName,t.nodeValue)}),o.append(i)}),r(t.view_container).append(o),e.$table.triggerHandler("viewComplete")},removeView:function(e,t){r(t.view_container).empty()},hideTable:function(e){i=e.$table.css("position"),a=e.$table.css("bottom"),o=e.$table.css("left"),e.$table.css({position:"absolute",top:"-10000px",left:"-10000px"}),l=!0},init:function(e,t){!1!==t.view_layout&&void 0!==t.view_layouts[t.view_layout]&&(!1===l&&c.hideTable(e,t),e.$table.on("tablesorter-ready",function(){c.buildToolBar(e,t),c.buildView(e,t)}))},remove:function(e,t){c.removeToolBar(e,t),c.removeView(e,t),e.$table.css({position:i,top:a,left:o}),l=!1}};n.addWidget({id:"view",options:{view_toolbar:"#ts-view-toolbar",view_container:"#ts-view",view_caption:"#ts-view-caption",view_switcher_class:"ts-view-switcher",view_layout:!1,view_layouts:{}},init:function(e,t,i,a){c.init(i,a)},remove:function(e,t,i){c.remove(t,i)}})}(jQuery);return jQuery;}));

View File

@@ -0,0 +1,505 @@
$(document).ready(function () {
$.tablesorter.addParser({
id: 'production_date',
is: function (s, table, cell, $cell) {
return false;
},
format: function (s, table, cell, cellIndex) {
return $(cell).find("input[id^=production-date]").val() || "1970-01-01";
},
parsed: false,
type: 'text'
});
$("#allTable").tablesorter({
sortList: [[13, 1]],
theme: 'blue',
widthFixed: true,
widgets: ['filter', 'zebra', 'stickyHeaders'],
fixedWidth: true,
widgetOptions: {
resizable: false,
filter_formatter: {
6: function ($cell, indx) {
return $.tablesorter.filterFormatter.select2($cell, indx, {
match: true
});
},
7: function ($cell, indx) {
return $.tablesorter.filterFormatter.select2($cell, indx, {
match: true
});
},
8: function ($cell, indx) {
return $.tablesorter.filterFormatter.select2($cell, indx, {
match: true
});
},
9: function ($cell, indx) {
return $.tablesorter.filterFormatter.select2($cell, indx, {
match: true
});
},
10: function ($cell, indx) {
return $.tablesorter.filterFormatter.select2($cell, indx, {
match: true
});
},
13: function ($cell, indx) {
return $.tablesorter.filterFormatter.select2($cell, indx, {
match: true
});
},
},
},
headers: {
17: { sorter: 'production_date' },
},
});
$("#allTable").bind('filterEnd', function (event, config) {
updateAllPositions();
localStorage.setItem('productBySales_filters', $.tablesorter.getFilters($('#allTable')));
});
$("#allTable").bind('sortEnd', function (event, config) {
updateAllPositions();
try {
localStorage.setItem('productBySales_sort',
$("#allTable")[0].config.sortList[0][0] + '|' + $("#allTable")[0].config.sortList[0][1]);
} catch { }
});
setTimeout(() => {
var filters = localStorage.getItem('productBySales_filters');
if (filters) {
$.tablesorter.setFilters($('#allTable'), filters.split(','), true);
}
var sort = localStorage.getItem('productBySales_sort');
if (sort) {
try {
var tmp = sort.split('|');
$("#allTable")[0].config.sortList = [[parseInt(tmp[0]), parseInt(tmp[1])]];
$.tablesorter.sortOn($("#allTable")[0].config, [[parseInt(tmp[0]), parseInt(tmp[1])]]);
} catch { }
}
}, 500);
$("#selectAll").click(function () {
if (this.checked) {
$(".allCheck").prop('checked', true);
} else {
$(".allCheck").prop('checked', false);
}
});
$("#orderComponents").click(orderComponents);
$("#orderRawMaterials").click(orderRawMaterials);
$("#createInsideOrder").click(createInsideOrder);
$("#toogleReadyProducts").click(() => {
if (SelectedTab == '2') {
showReadyProducts = !showReadyProducts;
showReadyProducts ? $("#toogleReadyProducts").val("Ukryj gotowe") : $("#toogleReadyProducts").val("Pokaz gotowe");
filterComponents();
} else if (SelectedTab == '3') {
showReadyProducts = !showReadyProducts;
showReadyProducts ? $("#toogleReadyProducts").val("Ukryj gotowe") : $("#toogleReadyProducts").val("Pokaz gotowe");
filterRawMaterials();
} else if (SelectedTab == '1') {
$("#hideReadyProducts").val($("#hideReadyProducts").val() === "true" ? "false" : "true");
$("#submitForm").trigger("click");
}
});
$("#toogleServices").click(() => {
showServices = !showServices;
showServices ? $("#toogleServices").val("Ukryj usługi") : $("#toogleServices").val("Pokaz usługi");
if (SelectedTab == '2') {
filterComponents();
} else if (SelectedTab == '3') {
filterRawMaterials();
}
});
$("#hideReadyProducts").val() === "false" ? $("#toogleReadyProducts").val("Ukryj gotowe") : $("#toogleReadyProducts").val("Pokaz gotowe");
updateAllPositions();
});
let showReadyProducts = true;
let showServices = true;
var SelectedTab = "";
var TabsMainBlock = false;
var Components;
var RawMaterials;
var OrderTypes
function SetTab(tab_name) {
if (TabsMainBlock) return;
var TabMenu = document.getElementById('groupTabsPanels');
var tabs = TabMenu.getElementsByTagName('li');
for (i = 0; i < tabs.length; i++) {
if ((tab_name + '_menu') === tabs[i].id) {
tabs[i].className = 'active';
tabs[i].getElementsByTagName('a')[0].className = 'current';
} else {
tabs[i].className = '';
tabs[i].getElementsByTagName('a')[0].className = '';
}
}
var prev = document.getElementById(SelectedTab);
var curr = document.getElementById(tab_name);
prev.style.display = 'none';
curr.style.display = '';
SelectedTab = tab_name;
showReadyProducts = true;
showServices = true;
$("#toogleReadyProducts").val("Ukryj gotowe");
$("#toogleServices").val("Ukryj usługi");
if (SelectedTab == '3') {
getRawMaterials();
$("#toogleReadyProducts").show();
$("#toogleServices").show();
}
if (SelectedTab == '2') {
getComnponents();
$("#toogleReadyProducts").show();
$("#toogleServices").show();
}
if (SelectedTab == '1') {
$("#toogleServices").hide();
$("#hideReadyProducts").val() === "false" ? $("#toogleReadyProducts").val("Ukryj gotowe") : $("#toogleReadyProducts").val("Pokaz gotowe");
}
}
function getComnponents() {
var ids = [];
$('input.allCheck:checkbox:checked').each(function () {
// check if this element is visible on site
if ($(this).parent().parent().css('display') === 'table-row') {
ids.push($(this).val());
}
});
if (ids.length === 0) {
alert('Wybierz pozycje zamówień');
SetTab('1');
return;
}
showLoader();
var url = $(location).attr('href') + "&to_pdf=1&ajaxAction=getComponents";
$.ajax({
method: 'post',
url: url,
data: {
ids
},
success: function (data) {
var result = JSON.parse(data);
Components = result;
drawComponents(result);
updateComponentsPositions();
hideLoader();
},
error: function () {
alert('Błąd ładowania komponentów');
hideLoader();
}
});
}
function drawComponents(data) {
$("#componentsTableContainer").html(componentsTablePrototype());
data.forEach((el, index) => {
var tr = $("<tr></tr>");
tr.append("<td><input type=\"checkbox\" value=" + el.productId + " class=\"componentCheck\" /></td>");
tr.append("<td>" + (index + 1) + "</td>");
tr.append("<td><a target=\"_blank\" href=\"index.php?module=EcmProducts&action=DetailView&record=" + el.productId + "\">" + el.productCode + "</a></td>");
tr.append("<td title=\"" + el.productFullName +"\">" + el.productName + "</td>");
tr.append("<td id=\"qty-" + el.productId + "\">" + el.productQty + "</td>");
tr.append("<td>" + el.productUnit + "</td>");
tr.append("<td id=\"state-" + el.productId + "\">" + el.productStockState + "</td>");
tr.append("<td id=\"ordered-" + el.productId + "\">" + el.productOrdered + "</td>");
tr.append("<td><a target=\"_blank\" href=\"index.php?module=Accounts&action=DetailView&record=" + el.productVendorId + "\">" + el.productVendorName + "</a></td>");
var orders = "<td>";
el.orders.forEach((o) => {
orders += "<a target=\"_blank\" href=\"index.php?module=EcmPurchaseOrders&action=DetailView&record=" + o.orderId + "\">" + o.orderNr + "</a>";
if (o.orderDeliveryDate.length) {
orders += "&nbsp;(" + o.orderDeliveryDate + ")&nbsp;";
}
});
orders += "</td>";
tr.append(orders);
$("#componentsTable > tbody").append(tr);
});
$("#componentsTable").tablesorter({
theme: 'blue',
widthFixed: true,
widgets: ['filter', 'stickyHeaders'],
});
$("#componentsTable").bind('filterEnd', function (event, config) {
updateComponentsPositions();
});
$("#componentsTable").bind('sortEnd', function (event, config) {
updateComponentsPositions();
$('#componentsTable tfoot').find("td").each(function () {
$(this).css('background-color', 'white');
})
});
$("#selectAllComponents").attr('checked', false);
$("#selectAllComponents").click(function () {
if (this.checked) {
$(".componentCheck").prop('checked', true);
} else {
$(".componentCheck").prop('checked', false);
}
});
}
function filterComponents() {
let filtered = Components;
if (!showReadyProducts) {
filtered = filtered.filter(x => x.productOrdered + x.productStockState < x.productQty)
}
if (!showServices) {
filtered = filtered.filter(x => x.productGroupKS != 4);
}
drawComponents(filtered);
updateComponentsPositions();
}
function getRawMaterials() {
var ids = [];
$('input.allCheck:checkbox:checked').each(function () {
ids.push($(this).val());
});
if (ids.length === 0) {
alert('Wybierz pozycje zamówień');
SetTab('1');
return;
}
var cids = [];
$('input.componentCheck:checkbox:checked').each(function () {
cids.push($(this).val());
});
if (cids.length === 0) {
alert('Wybierz komponenty');
SetTab('2');
return;
}
showLoader();
var url = $(location).attr('href') + "&to_pdf=1&ajaxAction=getRawMaterials";
$.ajax({
method: 'post',
url: url,
data: {
ids,
cids
},
success: function (data) {
console.log(data);
var result = JSON.parse(data);
RawMaterials = result;
drawRawMaterials(result);
updateRawMaterialsPositions();
hideLoader();
},
error: function () {
alert('Błąd ładowania surowców');
hideLoader();
}
});
}
function drawRawMaterials(data) {
$("#rawMaterialsTableContainer").html(rawMaterialsTablePrototype());
data.forEach((el, index) => {
var tr = $("<tr></tr>");
tr.append("<td><input type=\"checkbox\" value=" + el.productId + " class=\"rawMaterialCheck\" /></td>");
tr.append("<td>" + (index + 1) + "</td>");
tr.append("<td><a target=\"_blank\" href=\"index.php?module=EcmProducts&action=DetailView&record=" + el.productId + "\">" + el.productCode + "</a></td>");
tr.append("<td title=\""+ el.productFullName +"\">" + el.productName + "</td>");
tr.append("<td id=\"qty-" + el.productId + "\">" + el.productQty + "</td>");
tr.append("<td>" + el.productUnit + "</td>");
tr.append("<td id=\"state-" + el.productId + "\">" + el.productStockState + "</td>");
tr.append("<td id=\"ordered-" + el.productId + "\">" + el.productOrdered + "</td>");
tr.append("<td><a target=\"_blank\" href=\"index.php?module=Accounts&action=DetailView&record=" + el.productVendorId + "\">" + el.productVendorName + "</a></td>");
var orders = "<td>";
el.orders.forEach((o) => {
orders += "<a target=\"_blank\" href=\"index.php?module=EcmPurchaseOrders&action=DetailView&record=" + o.orderId + "\">" + o.orderNr + "</a>";
if (o.orderDeliveryDate.length) {
orders += "&nbsp;(" + o.orderDeliveryDate + ")&nbsp;";
}
});
orders += "</td>";
tr.append(orders);
$("#rawMaterialsTable > tbody").append(tr);
});
$("#rawMaterialsTable").tablesorter({
theme: 'blue',
widthFixed: true,
widgets: ['filter', 'stickyHeaders'],
});
$("#rawMaterialsTable").bind('filterEnd', function (event, config) {
updateRawMaterialsPositions();
});
$("#rawMaterialsTable").bind('sortEnd', function (event, config) {
updateRawMaterialsPositions();
$('#rawMaterialsTable tfoot').find("td").each(function () {
$(this).css('background-color', 'white');
})
});
$("#selectAllRawMaterials").attr('checked', false);
$("#selectAllRawMaterials").click(function () {
if (this.checked) {
$(".rawMaterialCheck").prop('checked', true);
} else {
$(".rawMaterialCheck").prop('checked', false);
}
});
}
function filterRawMaterials() {
let filtered = RawMaterials;
if (!showReadyProducts) {
filtered = filtered.filter(x => x.productOrdered + x.productStockState < x.productQty)
}
if (!showServices) {
filtered = filtered.filter(x => x.productGroupKS != 4);
}
drawRawMaterials(filtered);
updateRawMaterialsPositions();
}
function orderComponents() {
var ids = [];
$('input.componentCheck:checkbox:checked').each(function () {
ids.push($(this).val());
});
if (ids.length === 0) {
alert('Wybierz komponenty');
return;
} else {
var toOrder = [];
ids.forEach(el => {
const qty = parseFloat($("#qty-" + el).html().trim());
const state = parseFloat($("#state-" + el).html().trim());
const ordered = parseFloat($("#ordered-" + el).html().trim());
toOrder.push(el + "|" + (qty - state - ordered));
});
$("#componentsToOrder").val(toOrder.join('*'));
$("#orderComponentsForm").submit();
}
}
function createInsideOrder() {
var ids = [];
$('input.allCheck:checkbox:checked').each(function () {
ids.push($(this).val());
});
if (ids.length === 0) {
alert('Wybierz pozycje zamówień');
return;
}
var products = [];
ids.forEach(el => {
const qty = parseFloat($("#productQty-" + el).html().trim());
const id = $("#productId-" + el).val();
products.push(id + "|" + qty);
});
$("#insideOrderProducts").val(products.join('*'));
$("#createInsideOrderForm").submit();
}
function orderRawMaterials() {
var ids = [];
$('input.rawMaterialCheck:checkbox:checked').each(function () {
ids.push($(this).val());
});
if (ids.length === 0) {
alert('Wybierz surowce');
return;
} else {
var toOrder = [];
ids.forEach(el => {
const qty = parseFloat($("#qty-" + el).html().trim());
const state = parseFloat($("#state-" + el).html().trim());
const ordered = parseFloat($("#ordered-" + el).html().trim());
toOrder.push(el + "|" + (qty - state - ordered));
});
$("#rawMaterialsToOrder").val(toOrder.join('*'));
$("#orderRawMaterialsForm").submit();
}
}
function saveProductionDate(id) {
$.ajax({
method: 'get',
url: $(location).attr('href') + "&to_pdf=1&ajaxAction=saveProductionDate&itemId=" + id + "&date=" + $("#production-date-" + id).val(),
});
}
function editComment(positionId) {
$("#edit-" + positionId).css("display", "none");
$("#description-" + positionId).css("display", "none");
$("#descriptionInput-" + positionId).css("display", "inline");
$("#descriptionInput-" + positionId).select();
$("#save-" + positionId).css("display", "inline-block");
}
function saveComment(id) {
$("#edit-" + id).css("display", "inline-block");
$("#description-" + id).css("display", "inline");
$("#descriptionInput-" + id).css("display", "none");
$("#save-" + id).css("display", "none");
$.ajax({
method: 'get',
url: $(location).attr('href') + "&to_pdf=1&ajaxAction=saveProductDescription&itemId=" + id + "&description=" + $("#descriptionInput-" + id).val(),
success: function (data) {
$("#description-" + id).html($("#descriptionInput-" + id).val());
},
});
}
function showLoader() {
$.blockUI({
css: {
border: 'none',
padding: '15px',
backgroundColor: '#000',
'-webkit-border-radius': '10px',
'-moz-border-radius': '10px',
opacity: .5,
'font-weight': 'bold',
'font-size': '16px',
color: '#fff',
},
message: "Pobieranie danych..."
});
}
function hideLoader() {
$.unblockUI();
}
function updateAllPositions() {
var i = 0;
var sum = 0;
$("#allTable").find("tr").each(function (index) {
if (index >= 2 && $(this).css('display') === 'table-row' && $(this).find("td").length > 3) {
i++;
sum += parseFloat($($(this).find("td")[4]).html().trim());
$($(this).find("td")[1]).html(i);
}
});
$("#allTableSum").html(sum);
}
function updateComponentsPositions() {
var i = 0;
var sum = 0;
$("#componentsTable").find("tr").each(function (index) {
if (index >= 2 && $(this).css('display') === 'table-row' && $(this).find("td").length > 3) {
i++;
sum += parseFloat($($(this).find("td")[4]).html().trim());
$($(this).find("td")[1]).html(i);
}
});
$("#componentsTableSum").html(Math.ceil(sum));
}
function updateRawMaterialsPositions() {
var i = 0;
var sum = 0;
$("#rawMaterialsTable").find("tr").each(function (index) {
if (index >= 2 && $(this).css('display') === 'table-row' && $(this).find("td").length > 3) {
i++;
sum += parseFloat($($(this).find("td")[4]).html().trim());
$($(this).find("td")[1]).html(i);
}
});
$("#rawMaterialsTableSum").html(Math.ceil(sum));
}
function componentsTablePrototype() {
return '<table id="componentsTable"><thead><tr><th class="filter-false"><input type="checkbox" id="selectAllComponents" /></th><th>Pozycja</th><th>Indeks</th><th>Nazwa</th><th>Ilość</th><th>JM.</th><th>Stan</th><th>Zamówiono</th><th>Dostawca</th><th>Zamówienie</th></tr></thead><tbody aria-live="polite" aria-relevant="all"></tbody><tfoot><tr><td colspan=4></td><td id="componentsTableSum">0</td><td colspan="5"></td></tr></tfoot></table>'
}
function rawMaterialsTablePrototype() {
return '<table id="rawMaterialsTable"><thead><tr><th class="filter-false"><input type="checkbox" id="selectAllRawMaterials" /></th><th>Pozycja</th><th>Indeks</th><th>Nazwa</th><th>Ilość</th><th>JM.</th><th>Stan</th><th>Zamówiono</th><th>Dostawca</th><th>Zamówienie</th></tr></thead><tbody aria-live="polite" aria-relevant="all"></tbody><tfoot><tr><td colspan=4></td><td id="rawMaterialsTableSum">0</td><td colspan="5"></td></tr></tfoot></table>'
}

View File

@@ -0,0 +1,357 @@
<?
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED);
$db = $GLOBALS['db'];
global $app_list_strings;
if (isset($_GET['date_from'])) {
$dateFrom = date("Y-m-d", strtotime($_GET['date_from']));
} else {
$dateFrom = date("Y-m-d");
}
if (isset($_GET['date_to'])) {
if (strlen($_GET['date_to']) > 0) {
$dateTo = date("Y-m-d", strtotime($_GET['date_to']));
}
} else {
$dateTo = date("Y-m-d", strtotime("+ 1 month"));
}
if (!isset($_GET['hideReadyProducts'])) {
$_GET['hideReadyProducts'] = "false";
}
if (!isset($_GET['ajaxAction'])) {
$allQuery = "SELECT s.id, s.document_no, s.status, s.parent_name, s.parent_id, s.send_date, s.type,
s.register_date, s.delivery_date, si.code, si.name, si.ecmproduct_id, si.description,
si.quantity, p.vendor_part_no as kind, p.brand, p.part_no as size, p.shape,
ss.quantity as stockState, si.id as item_id, s.shipping_address_name, si.production_date
FROM ecmsaleitems AS si
INNER JOIN ecmsales AS s
ON s.id = si.ecmsale_id
INNER JOIN ecmproducts AS p
ON si.ecmproduct_id = p.id
LEFT JOIN ecmstockstates AS ss
ON ss.product_id = si.ecmproduct_id AND ss.stock_id = 'c7afd71a-4c3a-bde4-138d-4acaee1644e4'
WHERE s.delivery_date > '$dateFrom' AND s.status IN ('s10', 's20', 's30')";
if (is_array($_GET['exclude']) && count($_GET['exclude']) > 0) {
foreach ($_GET['exclude'] as $name) {
if (strlen($name) > 0) {
$allQuery .= " AND s.parent_name NOT LIKE '%$name%'";
}
}
}
if (is_array($_GET['excludeType']) && count($_GET['excludeType']) > 0) {
foreach ($_GET['excludeType'] as $type) {
if (strlen($type) > 0) {
if ($type == 'other') {
$allQuery .= " AND s.type NOT IN ('b2b', 'interval_order')";
} else {
$allQuery .= " AND s.type != '$type'";
}
}
}
}
$typesWhere = "";
if (strlen($dateTo) > 0) {
$allQuery .= " AND s.delivery_date < '$dateTo'";
$typesWhere = " AND s.delivery_date < '$dateTo'";
} else {
$allQuery .= " OR s.delivery_date IS NULL";
$typesWhere = " OR s.delivery_date IS NULL";
}
$allQuery .= " ORDER BY s.delivery_date ASC, s.register_date ASC, s.document_no ASC";
$rows = $db->query($allQuery);
$allData = array();
$i = 0;
while ($r = $db->fetchByAssoc($rows)) {
$row = array();
$i++;
$row['position'] = $i;
$row['productName'] = strlen($r['name']) > 55 ? substr($r['name'], 0, 55) . "..." : $r['name'];
$row['productFullName'] = $r['name'];
$row['productCode'] = strlen($r['code']) > 20 ? substr($r['code'], 0, 20) . "..." : $r['code'];
$row['productFullCode'] = $r['code'];
$row['productId'] = $r['ecmproduct_id'];
$row['productQty'] = $r['quantity'];
$row['productKind'] = $r['kind'];
$row['productSize'] = $r['size'];
$row['productShape'] = $app_list_strings['ecmproducts_shape_dom'][$r['shape']];
$row['productBrand'] = $app_list_strings['ecmproducts_brand_dom'][$r['brand']];
$row['orderNo'] = $r['document_no'];
$row['orderId'] = $r['id'];
$row['orderStatus'] = $app_list_strings['ecmsales_status_dom'][$r['status']];
$row['orderParent'] = $r['parent_name'];
$row['orderParentId'] = $r['parent_id'];
$row['orderRegisterDate'] = $r['register_date'];
$row['orderDeliveryDate'] = $r['delivery_date'];
$row['orderSendDate'] = $r['send_date'];
$row['orderItemId'] = $r['item_id'];
$row['description'] = strlen($r['description']) > 0 ? substr($r['description'], 0, 30) : '';
$row['fullDescription'] = $r['description'];
$row['shippingTo'] = ($r['shipping_address_name'] == 'Adres korespondencyjny' ? '' : $r['shipping_address_name']);
$row['productionDate'] = $r['production_date'];
$row['productStockState'] = $r['stockState'] | 0;
if ($_GET['hideReadyProducts'] == "false" || $row['productQty'] > $row['productStockState']) {
$allData[] = $row;
}
}
$orderTypes = [];
$res = $db->query("SELECT distinct s.type FROM ecmsales AS s WHERE s.delivery_date > '$dateFrom' $typesWhere");
while ($r = $db->fetchByAssoc($res)) {
$orderTypes[] = $r['type'];
}
$types = [];
foreach ($app_list_strings['ecmsales_type_dom'] as $key => $value) {
if (in_array($key, $orderTypes)) {
$types[$key] = $value;
}
}
$smarty = new Sugar_Smarty();
$smarty->assign("exclude", $_GET['exclude']);
$smarty->assign("excludeType", $_GET['excludeType']);
$smarty->assign("allData", $allData);
$smarty->assign("dateFrom", $GLOBALS['timedate']->to_display_date($dateFrom));
$smarty->assign("dateTo", $GLOBALS['timedate']->to_display_date($dateTo));
$smarty->assign("types", $types);
$smarty->assign("hideReadyProducts", $_GET['hideReadyProducts']);
echo $smarty->display('modules/EcmReports/BimIT-Reports/productsBySales/productsBySales.tpl');
} else {
switch ($_GET['ajaxAction']) {
case 'getComponents':
echo getComponents($_POST['ids'], $dateFrom, $dateTo);
break;
case 'getRawMaterials':
echo getRawMaterials($_POST['ids'], $_POST['cids']);
case 'saveProductionDate':
saveProductionDate($_GET['itemId'], $_GET['date']);
break;
case 'saveProductDescription':
saveProductDescription($_GET['itemId'], $_GET['description']);
break;
}
}
// helpers
function findProduct($array, $value)
{
for ($i = 0; $i < count($array); $i++) {
if ($array[$i]['productId'] == $value) {
return $i;
}
}
return -1;
}
function getComponents($ids, $dateFrom, $dateTo)
{
$db = $GLOBALS['db'];
global $app_list_strings;
$idsString = join("','", $ids);
$productsQuery = "SELECT si.ecmproduct_id, SUM(si.quantity) as quantity
FROM ecmsaleitems AS si
INNER JOIN ecmsales AS s
ON s.id = si.ecmsale_id
WHERE si.id IN ('" . $idsString . "')
GROUP BY si.ecmproduct_id";
$rows = $db->query($productsQuery);
$componentsData = array();
while ($r = $db->fetchByAssoc($rows)) {
$componentsQuery = "SELECT p.code, p.name, c.quantity, p.unit_id, c.ecmcomponent_id, ss.quantity as stockState, p.group_ks
FROM ecmproductcomponents as c
INNER JOIN ecmproducts AS p
ON p.id = c.ecmcomponent_id
LEFT JOIN ecmstockstates AS ss
ON ss.product_id = p.id AND ss.stock_id = '368479db-22c5-0220-3a14-4bc426b1c709'
WHERE c.ecmproduct_id = '" . $r['ecmproduct_id'] . "'";
$crows = $db->query($componentsQuery);
while ($cr = $db->fetchByAssoc($crows)) {
$exists = findProduct($componentsData, $cr['ecmcomponent_id']);
if ($exists > -1) {
$componentsData[$exists]['productQty'] += $r['quantity'] * $cr['quantity'];
} else {
$ordered = $db->fetchByAssoc($db->query("SELECT SUM(poi.quantity) as ordered, GROUP_CONCAT(poi.ecmpurchaseorder_id SEPARATOR '|') AS orders
FROM ecmpurchaseorderitems as poi
INNER JOIN ecmpurchaseorders as po
ON poi.ecmpurchaseorder_id = po.id AND (po.status='registered' OR po.status='accepted') AND po.deleted=0
WHERE poi.deleted=0 AND poi.ecmproduct_id = '" . $cr['ecmcomponent_id'] . "'"));
$orders = array();
$ordersIds = explode('|', $ordered['orders']);
$ordersRes = $db->query("SELECT id, document_no, delivery_date FROM ecmpurchaseorders WHERE id IN ('" . join("','", $ordersIds) . "') ORDER BY date_entered DESC");
while ($o = $db->fetchByAssoc($ordersRes)) {
$orders[] = array(
'orderId' => $o['id'],
'orderNr' => $o['document_no'],
'orderDeliveryDate' => isset($o['delivery_date']) ? explode(' ', $o['delivery_date'])[0] : ''
);
}
$vendor = $db->fetchByAssoc($db->query("SELECT d.parent_id, a.name
FROM ecmstockdocinitems AS i
INNER JOIN ecmstockdocins AS d
ON d.id = i.ecmstockdocin_id
INNER JOIN accounts AS a
ON a.id = d.parent_id
WHERE i.ecmproduct_id = '" . $cr['ecmcomponent_id'] . "'
ORDER BY d.register_date DESC
LIMIT 0,1"));
$row = array();
$row['productId'] = $cr['ecmcomponent_id'];
$row['productName'] = strlen($cr['name']) > 55 ? substr($cr['name'], 0, 55) . "..." : $cr['name'];
$row['productFullName'] = $cr['name'];
$row['productCode'] = strlen($cr['code']) > 20 ? substr($cr['code'], 0, 20) . "..." : $cr['code'];
$row['productFullCode'] = $cr['code'];
$row['productUnit'] = $app_list_strings['ecmproducts_unit_dom'][$cr['unit_id']];
$row['productOrdered'] = (!empty($ordered['ordered'])) ? $ordered['ordered'] : 0;
$row['productVendorName'] = $vendor ? $vendor['name'] : '';
$row['productVendorId'] = $vendor ? $vendor['parent_id'] : '';
$row['productQty'] = $r['quantity'] * $cr['quantity'];
$row['productGroupKS'] = $cr['group_ks'];
$row['orders'] = $orders;
$row['productStockState'] = (!empty($cr['stockState'])) ? $cr['stockState'] : 0;
$componentsData[] = $row;
}
}
}
echo json_encode($componentsData);
}
function getRawMaterials($ids, $cids)
{
$db = $GLOBALS['db'];
global $app_list_strings;
$idsString = join("','", $ids);
$cidsString = join("','", $cids);
$productsQuery = "SELECT si.ecmproduct_id, SUM(si.quantity) as quantity
FROM ecmsaleitems AS si
INNER JOIN ecmsales AS s
ON s.id = si.ecmsale_id
WHERE si.id IN ('$idsString')
GROUP BY si.ecmproduct_id";
$prows = $db->query($productsQuery);
$rawMaterialsData = array();
while ($p = $db->fetchByAssoc($prows)) {
$componentsQuery = "SELECT c.ecmcomponent_id, c.quantity
FROM ecmproductcomponents as c
WHERE c.ecmproduct_id = '" . $p['ecmproduct_id'] . "' AND c.ecmcomponent_id IN ('$cidsString')";
$crows = $db->query($componentsQuery);
while ($c = $db->fetchByAssoc($crows)) {
// szukamy komponentów wdal
$componentRawMaterials = getProductRawMaterials($c['ecmcomponent_id'], $c['quantity']);
foreach ($componentRawMaterials as $material) {
$product = $db->fetchByAssoc($db->query("
SELECT p.id, p.code, p.name, p.group_ks, p.unit_id, ss.quantity as stockState
FROM ecmproducts AS p
LEFT JOIN ecmstockstates AS ss
ON ss.product_id = p.id AND ss.stock_id = '368479db-22c5-0220-3a14-4bc426b1c709'
WHERE p.id='" . $material['ecmproduct_id'] . "'
"));
$ordered = $db->fetchByAssoc($db->query("SELECT SUM(poi.quantity) as ordered, GROUP_CONCAT(poi.ecmpurchaseorder_id SEPARATOR '|') AS orders
FROM ecmpurchaseorderitems as poi
INNER JOIN ecmpurchaseorders as po
ON poi.ecmpurchaseorder_id = po.id AND (po.status='registered' OR po.status='accepted') AND po.deleted=0
WHERE poi.deleted=0 AND poi.ecmproduct_id = '" . $material['ecmproduct_id'] . "'"));
$orders = array();
$ordersIds = explode('|', $ordered['orders']);
$ordersRes = $db->query("SELECT id, document_no, delivery_date FROM ecmpurchaseorders WHERE id IN ('" . join("','", $ordersIds) . "') ORDER BY date_entered DESC");
while ($o = $db->fetchByAssoc($ordersRes)) {
$orders[] = array(
'orderId' => $o['id'],
'orderNr' => $o['document_no'],
'orderDeliveryDate' => isset($o['delivery_date']) ? explode(' ', $o['delivery_date'])[0] : ''
);
}
$vendor = $db->fetchByAssoc($db->query("SELECT d.parent_id, a.name
FROM ecmstockdocinitems AS i
INNER JOIN ecmstockdocins AS d
ON d.id = i.ecmstockdocin_id
INNER JOIN accounts AS a
ON a.id = d.parent_id
WHERE i.ecmproduct_id = '" . $material['ecmproduct_id'] . "'
ORDER BY d.register_date DESC
LIMIT 0,1"));
$row = array();
$row['productId'] = $product['id'];
$row['productName'] = strlen($product['name']) > 55 ? substr($product['name'], 0, 55) . "..." : $product['name'];
$row['productFullName'] = $product['name'];
$row['productCode'] = strlen($product['code']) > 20 ? substr($product['code'], 0, 20) . "..." : $product['code'];
$row['productFullCode'] = $product['code'];
$row['productUnit'] = $app_list_strings['ecmproducts_unit_dom'][$product['unit_id']];
$row['productOrdered'] = (!empty($ordered['ordered'])) ? $ordered['ordered'] : 0;
$row['productVendorName'] = $vendor ? $vendor['name'] : '';
$row['productVendorId'] = $vendor ? $vendor['parent_id'] : '';
$row['productQty'] = $p['quantity'] * $material['quantity'];
$row['productGroupKS'] = $product['group_ks'];
$row['orders'] = $orders;
$row['productStockState'] = (!empty($product['stockState'])) ? $product['stockState'] : 0;
$rawMaterialsData[] = $row;
}
}
}
// group rawMaterialsData by productId and sum quantity and ordered
$tmp = array_reduce($rawMaterialsData, function ($carry, $item) {
if (isset($carry[$item['productId']])) {
$carry[$item['productId']]['productQty'] += $item['productQty'];
} else {
$carry[$item['productId']] = $item;
}
return $carry;
}, array());
// flat tmp array
$rawMaterialsData = array_values($tmp);
echo json_encode($rawMaterialsData);
}
function saveProductionDate($itemId, $date)
{
$db = $GLOBALS['db'];
$date = date("Y-m-d", strtotime($date));
if ($date == '1970-01-01') {
$db->query("UPDATE ecmsaleitems SET production_date=NULL WHERE id='$itemId'");
} else {
$db->query("UPDATE ecmsaleitems SET production_date='$date' WHERE id='$itemId'");
}
}
function saveProductDescription($itemId, $description)
{
$db = $GLOBALS['db'];
$description = mysql_escape_string($description);
$db->query("UPDATE ecmsaleitems SET description='$description' WHERE id='$itemId'");
}
function getProductRawMaterials($productId, $quantity)
{
$db = $GLOBALS['db'];
$response = array();
$componentsQuery = "SELECT c.ecmcomponent_id, c.quantity
FROM ecmproductcomponents as c
WHERE c.ecmproduct_id = '$productId'";
$crows = $db->query($componentsQuery);
if ($crows->num_rows == 0) {
return array(
array(
'ecmproduct_id' => $productId,
'quantity' => $quantity
)
);
} else {
while ($c = $db->fetchByAssoc($crows)) {
$response = array_merge($response, getProductRawMaterials($c['ecmcomponent_id'], $quantity * $c['quantity']));
}
return $response;
}
}

View File

@@ -0,0 +1,293 @@
<script type="text/javascript" src="modules/EcmReports/javascript/jquery.js"></script>
<link rel="stylesheet" href="modules/EcmReports/BimIT-Reports/lib/tablesorter-2.31.3/dist/css/theme.blue.min.css">
<script type="text/javascript"
src="modules/EcmReports/BimIT-Reports/lib/tablesorter-2.31.3/dist/js/jquery.tablesorter.js"></script>
<script type="text/javascript"
src="modules/EcmReports/BimIT-Reports/lib/tablesorter-2.31.3/dist/js/jquery.tablesorter.widgets.js">
</script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/3.4.6/select2.min.css" rel="stylesheet">
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/3.4.6/select2.min.js"></script>
<script type="text/javascript"
src="modules/EcmReports/BimIT-Reports/lib/tablesorter-2.31.3/dist/js/widgets/widget-filter-formatter-select2.min.js">
</script>
<script type="text/javascript" src="modules/EcmReports/javascript/jquery.blockUI.js"></script>
<script type="text/javascript" src="modules/EcmReports/BimIT-Reports/productsBySales/productsBySales.js"></script>
<!-- HEADER -->
<table id="tableMenu" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>
<img src="themes/Sugar5/images/CaseReports.gif" style="margin-top: 3px; margin-right: 3px;" width="16"
height="16">
</td>
<td>
<h2>Produkcja</h2>
</td>
</tr>
</table>
<!-- SEARCH -->
<form action="index.php" method="get" name="searchProductBySales">
<input type="hidden" name="module" value="EcmReports" />
<input type="hidden" name="action" value="index" />
<input type="hidden" name="reportName" value="productsBySales" />
<input type="hidden" name="hideReadyProducts" id="hideReadyProducts" value="{$hideReadyProducts}" />
<table style="border-top: 0px none; margin-bottom: 4px;width:100%" class="tabForm" border="0" cellpadding="0"
cellspacing="0">
<tr>
<td class="dataLabel" width="5%" nowrap="nowrap">
Data wysyłki: od
&nbsp;
<input id="date_from" name="date_from" type="text" maxlength="10" size="11" tabindex="" title=""
value="{$dateFrom}" autocomplete="off">
<img id="date_from_trigger" src="themes/default/images/jscalendar.gif">
<script language="JavaScript" type="text/javascript">
Calendar.setup ({ldelim}
inputField: "date_from",
daFormat: "%d.%m.%Y",
button: "date_from_trigger",
singleClick: true,
dateStr: "",
step: 1
{rdelim}
);
</script>
&nbsp;
do
&nbsp;
<input autocomplete="off" name="date_to" id="date_to" value="{$dateTo}" title="" tabindex="" size="11"
maxlength="10" type="text">
<img src="themes/default/images/jscalendar.gif" alt="Enter Date" id="date_to_trigger">
<script language="JavaScript" type="text/javascript">
Calendar.setup ({ldelim}
inputField: "date_to",
daFormat: "%d.%m.%Y",
button: "date_to_trigger",
singleClick: true,
dateStr: "",
step: 1
{rdelim}
);
</script>
&nbsp;&nbsp;
Wyklucz:&nbsp;
<select name="exclude[]" size="3" style="width: 150px" multiple="true">
<option></option>
<option value="Media Markt" {if @in_array('Media Markt', $exclude)}selected="selected" {/if}>Media
Markt</option>
<option value="TwinPol" {if @in_array('TwinPol', $exclude)}selected="selected" {/if}>TwinPol
</option>
<option value="Euro-net" {if @in_array('Euro-net', $exclude)}selected="selected" {/if}>Euro-net
</option>
<option value="Carrefour" {if @in_array('Carrefour', $exclude)}selected="selected" {/if}>Carrefour
</option>
</select>
&nbsp;&nbsp;
<select name="excludeType[]" size="3" style="width: 150px" multiple="true">
<option></option>
{foreach from=$types key=k item=v}
<option value="{$k}" {if @in_array($k, $excludeType)}selected="selected" {/if}>{$v}
</option>
{/foreach}
</select>
<input class="button" id="submitForm" name="submit" value="Wykonaj" type="submit">
<input class="button" id="toogleReadyProducts" value="Ukryj gotowe" type="button">
<input class="button" id="toogleServices" value="Ukryj usługi" type="button" style="display: none">
</td>
</tr>
</tbody>
</table>
</form>
<!-- TAB MENU -->
<ul class="subpanelTablist" style="margin-top:10px;" id="groupTabsPanels">
<li class="active" id="1_menu">
<script language="javascript">
{literal}
var set1 = function() { SetTab('1'); };
SelectedTab = '1';
{/literal}
</script>
<a class="current" href="javascript:set1();">Produkty</a>
</li>
<li class="" id="2_menu">
<script language="javascript">
{literal}
var set2 = function() { SetTab('2'); };
{/literal}
</script>
<a class="" href="javascript:set2();">Komponenty</a>
</li>
<li class="" id="3_menu">
<script language="javascript">
{literal}
var set3 = function() { SetTab('3'); };
{/literal}
</script>
<a class="" href="javascript:set3();">Surowce</a>
</li>
</ul>
<!-- TABS -->
<div id="1">
<br>
<input class="button" name="submit" value="Utwórz zamówienie wewnętrzne" type="button" id="createInsideOrder" />
<br>
<form action="index.php?module=EcmInsideOrders&action=EditView&fromProductsBySalesReport=true" method="post"
target="_blank" id="createInsideOrderForm">
<input id="insideOrderProducts" name="insideOrderProducts" type="hidden" value="" />
</form>
<table id="allTable">
<thead>
<tr>
<th class="filter-false"><input type="checkbox" id="selectAll" /></th>
<th>Pozycja</th>
<th>Indeks</th>
<th>Nazwa</th>
<th>Ilość</th>
<th>Stan</th>
<th>ZS E5</th>
<th>Status</th>
<th>Zamawiający</th>
<th>Odbiorca</th>
<th>Rodzaj</th>
<th>Rozmiar</th>
<th>Forma</th>
<th>Marka</th>
<th>Data rejestracji</th>
<th>Data wysyłki</th>
<th>Data dostawy</th>
<th>Data produkcji</th>
<th>Uwagi</th>
</tr>
</thead>
<tbody aria-live="polite" aria-relevant="all">
{foreach from=$allData item=ROW name=loop}
{if $smarty.foreach.loop.index % 2 == 1}
<tr>
{else}
<tr style="background-color: #e6e6e6;" role="row">
{/if}
<td>
<input type="checkbox" value="{$ROW.orderItemId}" class="allCheck" />
<input type="hidden" id="productId-{$ROW.orderItemId}" value="{$ROW.productId}" />
</td>
<td>
{$ROW.position}
</td>
<td>
<a title="{$ROW.productFullCode}" target="_blank" href="index.php?module=EcmProducts&action=DetailView&record={$ROW.productId}">
{$ROW.productCode}
</a>
</td>
<td title="{$ROW.productFullName}">
{$ROW.productName}
</td>
<td id="productQty-{$ROW.orderItemId}">
{$ROW.productQty}
</td>
<td>
{$ROW.productStockState}
</td>
<td>
<a target="_blank" href="index.php?module=EcmSales&action=DetailView&record={$ROW.orderId}">
{$ROW.orderNo}
</a>
</td>
<td>
{$ROW.orderStatus}
</td>
<td>
<a target="_blank" href="index.php?module=Accounts&action=DetailView&record={$ROW.orderParentId}">
{$ROW.orderParent}
</a>
</td>
<td>
{$ROW.shippingTo}
</td>
<td>
{$ROW.productKind}
</td>
<td>
{$ROW.productSize}
</td>
<td>
{$ROW.productShape}
</td>
<td>
{$ROW.productBrand}
</td>
<td>
{$ROW.orderRegisterDate}
</td>
<td>
{$ROW.orderSendDate}
</td>
<td>
{$ROW.orderDeliveryDate}
</td>
<td>
<input id="production-date-{$ROW.orderItemId}" name="production-date-{$ROW.orderItemId}" type="text"
maxlength="10" size="11" tabindex="" title="" value="{$ROW.productionDate}" autocomplete="off"
id="production-date-{$ROW.orderItemId}" onchange="saveProductionDate('{$ROW.orderItemId}')">
<img id="production-date-trigger-{$ROW.orderItemId}" src="themes/default/images/jscalendar.gif"
style="width: 13px;">
<script language="JavaScript" type="text/javascript">
Calendar.setup ({ldelim}
inputField: "production-date-{$ROW.orderItemId}",
daFormat: "%Y-%m-%d",
button: "production-date-trigger-{$ROW.orderItemId}",
singleClick: true,
dateStr: "",
step: 1
{rdelim}
);
</script>
</td>
<td title="{$ROW.fullDescription}">
<div id="edit-{$ROW.orderItemId}" class="ui-icon ui-icon-pencil"
onclick="editComment('{$ROW.orderItemId}')" style="display: inline-block;"></div>
<div id="save-{$ROW.orderItemId}" class="ui-icon ui-icon-check"
onclick="saveComment('{$ROW.orderItemId}')" style="display: none;"></div>
<div id="description-{$ROW.orderItemId}" style="display: inline; width: 300px;">{$ROW.description}
</div>
<input id="descriptionInput-{$ROW.orderItemId}" type="text" value="{$ROW.fullDescription}"
style="width: 300px; display: none;" />
</td>
</tr>
{/foreach}
</tbody>
<tfoot>
<tr>
<td colspan=4></td>
<td id="allTableSum">0</td>
<td colspan="13"></td>
</tr>
</tfoot>
</table>
</div>
<div id="2" style="display: none">
<br>
<input class="button" name="submit" value="Zamówienie - komponenty" type="button" id="orderComponents" />
<br>
<form action="index.php?module=EcmPurchaseOrders&action=EditView&fromProductsBySalesReport=true" method="post"
target="_blank" id="orderComponentsForm">
<input id="componentsToOrder" name="componentsToOrder" type="hidden" value="" />
</form>
<div id="componentsTableContainer">
</div>
</div>
<div id="3" style="display: none">
<br>
<input class="button" name="submit" value="Zamówienie - surowce" type="button" id="orderRawMaterials" />
<br>
<form action="index.php?module=EcmPurchaseOrders&action=EditView&fromProductsBySalesReport=true" method="post"
target="_blank" id="orderRawMaterialsForm">
<input id="rawMaterialsToOrder" name="rawMaterialsToOrder" type="hidden" value="" />
</form>
<div id="rawMaterialsTableContainer">
</div>
</div>