Browse Source

Election Final Code

master
KaNi-04 5 months ago
parent
commit
0502bdca41
  1. 14
      src/main/resources/static/files/assets/pages/handson-table/columns-only.js
  2. 61
      src/main/resources/static/files/assets/pages/handson-table/data-operation.js
  3. 79
      src/main/resources/static/files/assets/pages/handson-table/integration.js
  4. 24
      src/main/resources/static/files/assets/pages/handson-table/rows-cols-table.js
  5. 42
      src/main/resources/static/files/assets/pages/handson-table/rows-only.js
  6. 1
      src/main/resources/static/files/assets/pages/handson-table/utilities.js
  7. 5
      src/main/resources/static/files/assets/pages/hover-effect/images/triangle.svg
  8. 6
      src/main/resources/static/files/assets/pages/hover-effect/images/triangle2.svg
  9. 1
      src/main/resources/static/files/assets/pages/hover-effect/normalize.css
  10. 1281
      src/main/resources/static/files/assets/pages/hover-effect/set2.css
  11. 11
      src/main/resources/static/files/assets/pages/icon-modal.js
  12. 48
      src/main/resources/static/files/assets/pages/invoice-summary/invoice-summary.js
  13. 12
      src/main/resources/static/files/assets/pages/isotope/isotope.pkgd.min.js
  14. 1407
      src/main/resources/static/files/assets/pages/isotope/jquery.isotope.js
  15. 22
      src/main/resources/static/files/assets/pages/issue-list/issue-list.js
  16. 9
      src/main/resources/static/files/assets/pages/j-pro/css/demo.css
  17. 4
      src/main/resources/static/files/assets/pages/j-pro/css/font-awesome.min.css
  18. 2459
      src/main/resources/static/files/assets/pages/j-pro/css/j-forms.css
  19. 1867
      src/main/resources/static/files/assets/pages/j-pro/css/j-pro-modern.css
  20. BIN
      src/main/resources/static/files/assets/pages/j-pro/fonts/fontawesome-webfont-1.hxd
  21. BIN
      src/main/resources/static/files/assets/pages/j-pro/fonts/fontawesome-webfont.hxd
  22. 2671
      src/main/resources/static/files/assets/pages/j-pro/fonts/fontawesome-webfont.svg
  23. BIN
      src/main/resources/static/files/assets/pages/j-pro/fonts/fontawesome-webfont.ttf
  24. BIN
      src/main/resources/static/files/assets/pages/j-pro/fonts/fontawesome-webfont.woff
  25. BIN
      src/main/resources/static/files/assets/pages/j-pro/fonts/fontawesome-webfont.woff2
  26. BIN
      src/main/resources/static/files/assets/pages/j-pro/img/bg.jpg
  27. 1460
      src/main/resources/static/files/assets/pages/j-pro/js/autoNumeric.js
  28. 43
      src/main/resources/static/files/assets/pages/j-pro/js/custom/booking-comment.js
  29. 124
      src/main/resources/static/files/assets/pages/j-pro/js/custom/booking-multistep.js
  30. 121
      src/main/resources/static/files/assets/pages/j-pro/js/custom/booking.js
  31. 21
      src/main/resources/static/files/assets/pages/j-pro/js/custom/cloned-form.js
  32. 56
      src/main/resources/static/files/assets/pages/j-pro/js/custom/contact-form.js
  33. 60
      src/main/resources/static/files/assets/pages/j-pro/js/custom/currency-form.js
  34. 6
      src/main/resources/static/files/assets/pages/j-pro/js/custom/form-comment.js
  35. 94
      src/main/resources/static/files/assets/pages/j-pro/js/custom/form-job.js
  36. 21
      src/main/resources/static/files/assets/pages/j-pro/js/custom/login-form.js
  37. 80
      src/main/resources/static/files/assets/pages/j-pro/js/custom/popup-menu-form.js
  38. 35
      src/main/resources/static/files/assets/pages/j-pro/js/custom/reg-form.js
  39. 30
      src/main/resources/static/files/assets/pages/j-pro/js/custom/review-form.js
  40. 30
      src/main/resources/static/files/assets/pages/j-pro/js/custom/subscrbe-form.js
  41. 56
      src/main/resources/static/files/assets/pages/j-pro/js/custom/suggestion-form.js
  42. 1
      src/main/resources/static/files/assets/pages/j-pro/js/j-forms-additions.min.js
  43. 1
      src/main/resources/static/files/assets/pages/j-pro/js/jquery-cloneya.min.js
  44. 1593
      src/main/resources/static/files/assets/pages/j-pro/js/jquery.j-pro.js
  45. 7
      src/main/resources/static/files/assets/pages/j-pro/js/jquery.maskedinput.min.js
  46. 6
      src/main/resources/static/files/assets/pages/j-pro/js/jquery.stepper.min.js
  47. 8
      src/main/resources/static/files/assets/pages/j-pro/js/jquery.ui.min.js
  48. 86
      src/main/resources/static/files/assets/pages/jqpagination/jqpagination.css
  49. 429
      src/main/resources/static/files/assets/pages/jqpagination/jquery.jqpagination.js
  50. 415
      src/main/resources/static/files/assets/pages/jquery.filer/css/jquery.filer.css
  51. 191
      src/main/resources/static/files/assets/pages/jquery.filer/css/themes/jquery.filer-dragdropbox-theme.css
  52. BIN
      src/main/resources/static/files/assets/pages/jquery.filer/fonts/jquery.filer-icons/jquery-filer-1.hxd
  53. 135
      src/main/resources/static/files/assets/pages/jquery.filer/fonts/jquery.filer-icons/jquery-filer.css
  54. BIN
      src/main/resources/static/files/assets/pages/jquery.filer/fonts/jquery.filer-icons/jquery-filer.hxd
  55. 283
      src/main/resources/static/files/assets/pages/jquery.filer/fonts/jquery.filer-icons/jquery-filer.svg
  56. BIN
      src/main/resources/static/files/assets/pages/jquery.filer/fonts/jquery.filer-icons/jquery-filer.ttf
  57. BIN
      src/main/resources/static/files/assets/pages/jquery.filer/fonts/jquery.filer-icons/jquery-filer.woff
  58. 8
      src/main/resources/static/files/assets/pages/jquery.filer/js/jquery.filer.min.js
  59. 211
      src/main/resources/static/files/assets/pages/list-scroll/list-custom.js
  60. 248
      src/main/resources/static/files/assets/pages/list-scroll/list.css
  61. 213
      src/main/resources/static/files/assets/pages/location/leaflet-mapbox-gl.js
  62. 127
      src/main/resources/static/files/assets/pages/map-api/map-api.js
  63. 357
      src/main/resources/static/files/assets/pages/menu-search/css/component.css
  64. 141
      src/main/resources/static/files/assets/pages/message/message.css
  65. 50
      src/main/resources/static/files/assets/pages/message/message.js
  66. 1
      src/main/resources/static/files/assets/pages/multi-step-sign-up/css/reset.min.css
  67. 142
      src/main/resources/static/files/assets/pages/multi-step-sign-up/css/style.css
  68. 82
      src/main/resources/static/files/assets/pages/multi-step-sign-up/js/main.js
  69. 51
      src/main/resources/static/files/assets/pages/nestable/custom-nestable.js
  70. 484
      src/main/resources/static/files/assets/pages/nestable/jquery.nestable.js
  71. 112
      src/main/resources/static/files/assets/pages/nestable/nestable.css
  72. 170
      src/main/resources/static/files/assets/pages/notification/notification.css
  73. 96
      src/main/resources/static/files/assets/pages/notification/notification.js
  74. 65
      src/main/resources/static/files/assets/pages/offline/offline-custom.js
  75. 2495
      src/main/resources/static/files/assets/pages/payment-card/card.js
  76. 58
      src/main/resources/static/files/assets/pages/payment-card/e-payment.js
  77. 1
      src/main/resources/static/files/assets/pages/payment-card/jquery.payform.min.js
  78. 73
      src/main/resources/static/files/assets/pages/pnotify/notify.css
  79. 1166
      src/main/resources/static/files/assets/pages/pnotify/notify.js
  80. 419
      src/main/resources/static/files/assets/pages/prism/custom-prism.js
  81. 346
      src/main/resources/static/files/assets/pages/prism/prism.css
  82. 113
      src/main/resources/static/files/assets/pages/product-detail/product-detail.js
  83. 25
      src/main/resources/static/files/assets/pages/product-list/product-list.js
  84. 215
      src/main/resources/static/files/assets/pages/range-slider.js
  85. 124
      src/main/resources/static/files/assets/pages/rating/rating.js
  86. 16
      src/main/resources/static/files/assets/pages/session-idle-Timeout/session-idle-Timeout-custom.js
  87. 1
      src/main/resources/static/files/assets/pages/session-idle-Timeout/session_timeout.min.js
  88. 44
      src/main/resources/static/files/assets/pages/sessionTimeout/sessionTimeout-custom.js
  89. 403
      src/main/resources/static/files/assets/pages/social-timeline/social.js
  90. 280
      src/main/resources/static/files/assets/pages/social-timeline/timeline.css
  91. 16
      src/main/resources/static/files/assets/pages/sortable-custom.js
  92. 3055
      src/main/resources/static/files/assets/pages/sparkline/jquery.sparkline.js
  93. 943
      src/main/resources/static/files/assets/pages/sticky/css/jquery.postitall.css
  94. 716
      src/main/resources/static/files/assets/pages/sticky/css/trumbowyg.css
  95. 11
      src/main/resources/static/files/assets/pages/sticky/js/jquery.minicolors.min.js
  96. 3800
      src/main/resources/static/files/assets/pages/sticky/js/jquery.postitall.js
  97. 178
      src/main/resources/static/files/assets/pages/sticky/js/sticky.js
  98. 2
      src/main/resources/static/files/assets/pages/sticky/js/trumbowyg.min.js
  99. 551
      src/main/resources/static/files/assets/pages/store-js/moment.js
  100. 303
      src/main/resources/static/files/assets/pages/store-js/note.js

14
src/main/resources/static/files/assets/pages/handson-table/columns-only.js

@ -0,0 +1,14 @@
document.addEventListener("DOMContentLoaded", function() {
var hot1, stretch=document.getElementById("stretch");
hot1=new Handsontable(stretch, {
data: Handsontable.helper.createSpreadsheetData(10, 6), colWidths: 47, rowHeaders: !0, colHeaders: !0, stretchH: "last", contextMenu: !0
}
);
var hot, myData=Handsontable.helper.createSpreadsheetData(60, 100), container=document.getElementById("freezing");
hot=new Handsontable(container, {
data: myData, rowHeaders: !0, colHeaders: !0, fixedColumnsLeft: 2, contextMenu: !0, manualColumnFreeze: !0
}
)
}
);

61
src/main/resources/static/files/assets/pages/handson-table/data-operation.js
File diff suppressed because it is too large
View File

79
src/main/resources/static/files/assets/pages/handson-table/integration.js

@ -0,0 +1,79 @@
$(document).ready(function() {
function getData() {
return [
["", "Kia", "Nissan", "Toyota", "Honda", "Mazda", "Ford"],
["2012", 10, 11, 12, 13, 15, 16],
["2013", 10, 11, 12, 13, 15, 16],
["2014", 10, 11, 12, 13, 15, 16],
["2015", 10, 11, 12, 13, 15, 16],
["2016", 10, 11, 12, 13, 15, 16]
]
}
function updateHeatmap(change, source) {
if (source) heatmap[change[0][1]] = generateHeatmapData.call(this, change[0][1]);
else {
heatmap = [];
for (var i = 1, colCount = this.countCols(); i < colCount; i++) heatmap[i] = generateHeatmapData.call(this, i)
}
}
function point(min, max, value) {
return (value - min) / (max - min)
}
function generateHeatmapData(colId) {
var values = this.getDataAtCol(colId);
return {
min: Math.min.apply(null, values),
max: Math.max.apply(null, values)
}
}
function heatmapRenderer(instance, td, row, col, prop, value, cellProperties) {
Handsontable.renderers.TextRenderer.apply(this, arguments), heatmap[col] && (td.style.backgroundColor = heatmapScale(point(heatmap[col].min, heatmap[col].max, parseInt(value, 10))).hex(), td.style.textAlign = "right")
}
var $container = $("#jQuery");
$container.handsontable({
data: getData(),
rowHeaders: !0,
colHeaders: !0,
contextMenu: !0
});
var heatmap, heatmapScale, hot, data = ($("#jQuery").handsontable("getInstance"), [
[2012, 190251, 5090, 195341],
[2013, 224495, 6486, 230981],
[2014, 254044, 6765, 260809],
[2015, 254099, 7521, 261620],
[2016, 271108, 9449, 280557],
[2017, 280565, 11714, 292279],
[2018, 284120, 11292, 295412],
[2019, 279742, 11468, 291210],
[2020, 290411, 11806, 302217],
[2021, 290652, 10891, 301543],
[2022, 283863, 10402, 294265],
[2023, 267646, 10104, 255850]
]),
container = document.getElementById("chromaJS");
heatmapScale = chroma.scale(["#FFFFFF", "#8BC34A"]), hot = new Handsontable(container, {
data: data,
colHeaders: ["Year", "Domestic Flights", "International Flights", "Total Flights"],
columns: [{
type: "numeric"
}, {
type: "numeric",
format: "0,0",
renderer: heatmapRenderer
}, {
type: "numeric",
format: "0,0",
renderer: heatmapRenderer
}, {
type: "numeric",
format: "0,0",
renderer: heatmapRenderer
}],
afterLoadData: updateHeatmap,
beforeChangeRender: updateHeatmap
})
});

24
src/main/resources/static/files/assets/pages/handson-table/rows-cols-table.js

@ -0,0 +1,24 @@
document.addEventListener("DOMContentLoaded", function() {
var hot1, example=document.getElementById("scrolling");
hot1=new Handsontable(example, {
data: Handsontable.helper.createSpreadsheetData(100, 100), height: 400, colWidths: 50, rowHeights: 32, rowHeaders: !0, colHeaders: !0
}
);
var hot, myData=Handsontable.helper.createSpreadsheetData(100, 50), container=document.getElementById("fixing");
hot=new Handsontable(container, {
data: myData, colWidths: [47, 47, 47, 47, 47, 47, 47, 47, 47, 47], rowHeaders: !0, colHeaders: !0, fixedRowsTop: 2, fixedColumnsLeft: 2
}
);
var hot, container=document.getElementById("resizing");
hot=new Handsontable(container, {
data: Handsontable.helper.createSpreadsheetData(10, 10), rowHeaders: !0, colHeaders: !0, colWidths: [55, 80, 80, 80, 80, 80, 80], rowHeights: [50, 40, 100], manualColumnResize: !0, manualRowResize: !0
}
);
var hot, moving=document.getElementById("moving");
hot=new Handsontable(moving, {
data: Handsontable.helper.createSpreadsheetData(100, 20), rowHeaders: !0, colHeaders: !0, manualColumnMove: !0, manualRowMove: !0
}
)
}
);

42
src/main/resources/static/files/assets/pages/handson-table/rows-only.js

@ -0,0 +1,42 @@
document.addEventListener("DOMContentLoaded", function() {
function isEmptyRow(instance, row) {
for (var rowData = instance.getData()[row], i = 0, ilen = rowData.length; i < ilen; i++)
if (null !== rowData[i]) return !1;
return !0
}
function defaultValueRenderer(instance, td, row, col, prop, value, cellProperties) {
var args = arguments;
null === args[5] && isEmptyRow(instance, row) ? (args[5] = tpl[col], td.style.color = "#999") : td.style.color = "", Handsontable.renderers.TextRenderer.apply(this, args)
}
var hot1, tpl = ["one", "two", "three"],
data = [
["", "Kia", "Nissan", "Toyota", "Honda"],
["2014", 10, 11, 12, 13],
["2015", 20, 11, 14, 13],
["2016", 30, 15, 12, 13]
],
container = document.getElementById("populating");
hot1 = new Handsontable(container, {
startRows: 8,
startCols: 5,
minSpareRows: 1,
contextMenu: !0,
cells: function(row, col, prop) {
var cellProperties = {};
return cellProperties.renderer = defaultValueRenderer, cellProperties
},
beforeChange: function(changes) {
var i, c, instance = hot1,
ilen = changes.length,
clen = instance.colCount,
rowColumnSeen = {},
rowsToFill = {};
for (i = 0; i < ilen; i++) null === changes[i][2] && null !== changes[i][3] && isEmptyRow(instance, changes[i][0]) && (rowColumnSeen[changes[i][0] + "/" + changes[i][1]] = !0, rowsToFill[changes[i][0]] = !0);
for (var r in rowsToFill)
if (rowsToFill.hasOwnProperty(r))
for (c = 0; c < clen; c++) rowColumnSeen[r + "/" + c] || changes.push([r, c, null, tpl[c]])
}
}), hot1.loadData(data)
});

1
src/main/resources/static/files/assets/pages/handson-table/utilities.js

@ -0,0 +1 @@
document.addEventListener("DOMContentLoaded",function(){function getData(){return[["","Kia","Nissan","Toyota","Honda","Mazda","Ford"],["2012",10,11,12,13,15,16],["2013",10,11,12,13,15,16],["2014",10,11,12,13,15,16],["2015",10,11,12,13,15,16],["2016",10,11,12,13,15,16]]}function getCustomData(){return[["","Kia","Nissan","Toyota","Honda","Mazda","Ford"],["2012",10,11,12,13,15,16],["2013",10,11,12,13,15,16],["2014",10,11,12,13,15,16],["2015",10,11,12,13,15,16],["2016",10,11,12,13,15,16]]}function getData(){return[["","Kia","Nissan","Toyota","Honda","Mazda","Ford"],["2012",10,11,12,13,15,16],["2013",10,11,12,13,15,16],["2014",10,11,12,13,15,16],["2015",10,11,12,13,15,16],["2016",10,11,12,13,15,16]]}function getData(){return[["","Kia","Nissan","Toyota","Honda","Mazda","Ford"],["2012",10,11,12,13,15,16],["2013",10,11,12,13,15,16],["2014",10,11,12,13,15,16],["2015",10,11,12,13,15,16],["2016",10,11,12,13,15,16]]}var settings1,hot1,example1=document.getElementById("context");settings1={data:getData(),rowHeaders:!0,colHeaders:!0,contextMenu:!0},hot1=new Handsontable(example1,settings1);var settings3,hot3,example3=document.getElementById("configuration");settings3={data:getCustomData(),rowHeaders:!0,colHeaders:!0},hot3=new Handsontable(example3,settings3),hot3.updateSettings({contextMenu:{callback:function(key,options){"about"===key&&setTimeout(function(){alert("This is a context menu with default and custom options mixed")},100)},items:{row_above:{disabled:function(){return 0===hot3.getSelected()[0]}},row_below:{},hsep1:"---------",remove_row:{name:"Remove this row, ok?",disabled:function(){return 0===hot3.getSelected()[0]}},hsep2:"---------",about:{name:"About this menu"}}}});var hot4,copyPaste=document.getElementById("copyPaste");hot4=new Handsontable(copyPaste,{data:getData(),rowHeaders:!0,colHeaders:!0,contextMenu:!0,contextMenuCopyPaste:{swfPath:"/bower_components/zeroclipboard/dist/ZeroClipboard.swf"}});var hot,data=[["","Kia","Nissan","Toyota","Honda","Mazda","Ford"],["2012",10,11,12,13,15,16],["2013",10,11,12,13,15,16],["2014",10,11,12,13,15,16],["2015",10,11,12,13,15,16],["2016",10,11,12,13,15,16]],container=document.getElementById("buttons"),selectFirst=document.getElementById("selectFirst"),rowHeaders=document.getElementById("rowHeaders"),colHeaders=document.getElementById("colHeaders");hot=new Handsontable(container,{rowHeaders:!0,colHeaders:!0,outsideClickDeselects:!1,removeRowPlugin:!0}),hot.loadData(data),Handsontable.Dom.addEvent(selectFirst,"click",function(){hot.selectCell(0,0)}),Handsontable.Dom.addEvent(rowHeaders,"click",function(){hot.updateSettings({rowHeaders:this.checked})}),Handsontable.Dom.addEvent(colHeaders,"click",function(){hot.updateSettings({colHeaders:this.checked})});var hot1,container=document.getElementById("comments");hot1=new Handsontable(container,{data:getData(),rowHeaders:!0,colHeaders:!0,contextMenu:!0,comments:!0,cell:[{row:1,col:1,comment:"Some comment"},{row:2,col:2,comment:"More comments"}]})});

5
src/main/resources/static/files/assets/pages/hover-effect/images/triangle.svg

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="100%" height="100%" preserverAspectRatio="none" viewBox="0 0 48 36">
<polygon fill="#fff" points="0,36 48,0 48,36 "/>
</svg>

6
src/main/resources/static/files/assets/pages/hover-effect/images/triangle2.svg

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="150%" height="100%" preserverAspectRatio="none" viewBox="0 0 48 36">
<path fill="#1ABC9C" d="M0,0v36h48V0H0z M24.072,33.688L3.542,3h40.917L24.072,33.688z"/>
<path fill="#1ABC9C" d="M0,0v36h48V0H0z M24.072,33.688L3.542,3h40.917L24.072,33.688z"/>
</svg>

1
src/main/resources/static/files/assets/pages/hover-effect/normalize.css

@ -0,0 +1 @@
article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block;}audio,canvas,video{display:inline-block;}audio:not([controls]){display:none;height:0;}[hidden]{display:none;}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;}body{margin:0;}a:focus{outline:thin dotted;}a:active,a:hover{outline:0;}h1{font-size:2em;margin:0.67em 0;}abbr[title]{border-bottom:1px dotted;}b,strong{font-weight:bold;}dfn{font-style:italic;}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0;}mark{background:#ff0;color:#000;}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em;}pre{white-space:pre-wrap;}q{quotes:"\201C" "\201D" "\2018" "\2019";}small{font-size:80%;}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline;}sup{top:-0.5em;}sub{bottom:-0.25em;}img{border:0;}svg:not(:root){overflow:hidden;}figure{margin:0;}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em;}legend{border:0;padding:0;}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0;}button,input{line-height:normal;}button,select{text-transform:none;}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer;}button[disabled],html input[disabled]{cursor:default;}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0;}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none;}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0;}textarea{overflow:auto;vertical-align:top;}table{border-collapse:collapse;border-spacing:0;}

1281
src/main/resources/static/files/assets/pages/hover-effect/set2.css
File diff suppressed because it is too large
View File

11
src/main/resources/static/files/assets/pages/icon-modal.js

@ -0,0 +1,11 @@
'use strict';
$(document).ready(function() {
$('.icon-list-demo div div,.icon-list-demo div .outer-ellipsis').on('click', function() {
var font_class = ($(this).children().attr('class'));
$('.modal-icon').modal('show');
$('#icon').removeClass();
$('#icon').addClass(font_class);
$('#name').val(font_class);
$('#code').val('<i class="' + font_class + '"></i>');
});
});

48
src/main/resources/static/files/assets/pages/invoice-summary/invoice-summary.js

@ -0,0 +1,48 @@
"use strict";
$(document).ready(function() {
/*Bar chart*/
var data1 = {
labels: ['jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug'],
datasets: [{
label: "Sales",
backgroundColor: [
'#fe9365',
'#fe9365',
'#fe9365',
'#fe9365',
'#fe9365',
'#fe9365',
'#fe9365',
'#fe9365',
'#fe9365'
],
data: [65, 59, 80, 81, 56, 55, 50, 20],
}, {
label: "Expense",
backgroundColor: [
'#01a9ac',
'#01a9ac',
'#01a9ac',
'#01a9ac',
'#01a9ac',
'#01a9ac',
'#01a9ac',
'#01a9ac',
'#01a9ac'
],
data: [60, 69, 85, 91, 58, 50, 45, 20],
}]
};
var bar = document.getElementById("barChart").getContext('2d');
var myBarChart = new Chart(bar, {
type: 'bar',
data: data1,
options: {
barValueSpacing: 20,
maintainAspectRatio: false,
}
});
});

12
src/main/resources/static/files/assets/pages/isotope/isotope.pkgd.min.js
File diff suppressed because it is too large
View File

1407
src/main/resources/static/files/assets/pages/isotope/jquery.isotope.js
File diff suppressed because it is too large
View File

22
src/main/resources/static/files/assets/pages/issue-list/issue-list.js

@ -0,0 +1,22 @@
'use strict';
$(document).ready(function() {
$('#issue-list-table').DataTable();
var progression1 = 0;
var progress = setInterval(function() {
$('.progress .issue-text1').text(progression1 + '%');
$('.progress .issue-text1').css({ 'left': progression1 + '%' });
$('.progress .issue-text1').css({ 'top': '-20px' });
$('.progress .issue-bar1').css({ 'width': progression1 + '%' });
if (progression1 == 70) {
clearInterval(progress);
} else
progression1 += 1;
}, 100);
});

9
src/main/resources/static/files/assets/pages/j-pro/css/demo.css

@ -0,0 +1,9 @@
html,
body {
background-attachment:fixed;
background-position:50% 50%;
background-size:cover;
margin:0;
padding:0;
}
.bg-pic { background-image:url("../img/bg.jpg"); }

4
src/main/resources/static/files/assets/pages/j-pro/css/font-awesome.min.css
File diff suppressed because it is too large
View File

2459
src/main/resources/static/files/assets/pages/j-pro/css/j-forms.css
File diff suppressed because it is too large
View File

1867
src/main/resources/static/files/assets/pages/j-pro/css/j-pro-modern.css
File diff suppressed because it is too large
View File

BIN
src/main/resources/static/files/assets/pages/j-pro/fonts/fontawesome-webfont-1.hxd

BIN
src/main/resources/static/files/assets/pages/j-pro/fonts/fontawesome-webfont.hxd

2671
src/main/resources/static/files/assets/pages/j-pro/fonts/fontawesome-webfont.svg
File diff suppressed because it is too large
View File

BIN
src/main/resources/static/files/assets/pages/j-pro/fonts/fontawesome-webfont.ttf

BIN
src/main/resources/static/files/assets/pages/j-pro/fonts/fontawesome-webfont.woff

BIN
src/main/resources/static/files/assets/pages/j-pro/fonts/fontawesome-webfont.woff2

BIN
src/main/resources/static/files/assets/pages/j-pro/img/bg.jpg

After

Width: 1920  |  Height: 1200  |  Size: 149 KiB

1460
src/main/resources/static/files/assets/pages/j-pro/js/autoNumeric.js
File diff suppressed because it is too large
View File

43
src/main/resources/static/files/assets/pages/j-pro/js/custom/booking-comment.js

@ -0,0 +1,43 @@
$(document).ready(function(){
// Validation
$( "#j-pro" ).justFormsPro({
rules: {
first_name: {
requiredFromGroup: [1, ".name-group"]
},
last_name: {
requiredFromGroup: [1, ".name-group"]
},
email: {
required: true,
email: true
},
url: {
required: true,
url: true
},
message: {
required: true
}
},
messages: {
first_name: {
requiredFromGroup: "Add your name"
},
last_name: {
requiredFromGroup: "Add your name"
},
email: {
required: "Add your email",
email: "Incorrect email format"
},
url: {
required: "Add your url",
url: "Incorrect url format"
},
message: {
required: "Enter your message"
}
}
});
});

124
src/main/resources/static/files/assets/pages/j-pro/js/custom/booking-multistep.js

@ -0,0 +1,124 @@
$(document).ready(function(){
// Phone masking
$('#phone').mask('(999) 999-9999', {placeholder:'x'});
/***************************************/
/* Datepicker */
/***************************************/
// Start date
function dateFrom(date_from, date_to) {
$( date_from ).datepicker({
dateFormat: 'mm/dd/yy',
prevText: '<i class="fa fa-caret-left"></i>',
nextText: '<i class="fa fa-caret-right"></i>',
onClose: function( selectedDate ) {
$( date_to ).datepicker( 'option', 'minDate', selectedDate );
}
});
}
// Finish date
function dateTo(date_from, date_to) {
$( date_to ).datepicker({
dateFormat: 'mm/dd/yy',
prevText: '<i class="fa fa-caret-left"></i>',
nextText: '<i class="fa fa-caret-right"></i>',
onClose: function( selectedDate ) {
$( date_from ).datepicker( 'option', 'maxDate', selectedDate );
}
});
}
// Destroy date
function destroyDate (date) {
$( date ).datepicker('destroy');
}
// Initialize date range
dateFrom('#date_from', '#date_to');
dateTo('#date_from', '#date_to');
/***************************************/
/* end datepicker */
/***************************************/
// Validation
$( "#j-pro" ).justFormsPro({
rules: {
name: {
required: true
},
email: {
required: true,
email: true
},
phone: {
required: true
},
adults: {
required: true,
integer: true,
minvalue: 0
},
children: {
required: true,
integer: true,
minvalue: 0
},
date_from: {
required: true
},
date_to: {
required: true
},
message: {
required: true
}
},
messages: {
name: {
required: "Add your name"
},
email: {
required: "Add your email",
email: "Incorrect email format"
},
phone: {
required: "Add your phone"
},
adults: {
required: "Field is required",
integer: "Only integer allowed",
minvalue: "Value not less than 0"
},
children: {
required: "Field is required",
integer: "Only integer allowed",
minvalue: "Value not less than 0"
},
date_from: {
required: "Select check-in date"
},
date_to: {
required: "Select check-out date"
},
message: {
required: "Enter your message"
}
},
formType: {
multistep: true
},
afterSubmitHandler: function() {
// Destroy date range
destroyDate("#date_from");
destroyDate("#date_to");
// Initialize date range
dateFrom("#date_from", "#date_to");
dateTo("#date_from", "#date_to");
return true;
}
});
});

121
src/main/resources/static/files/assets/pages/j-pro/js/custom/booking.js

@ -0,0 +1,121 @@
$(document).ready(function() {
// Phone masking
$("#phone").mask("(999) 999-9999", { placeholder: "x" });
/***************************************/
/* Datepicker */
/***************************************/
// Start date
function dateFrom(date_from, date_to) {
$(date_from).datepicker({
dateFormat: "mm/dd/yy",
prevText: '<i class="fa fa-caret-left"></i>',
nextText: '<i class="fa fa-caret-right"></i>',
onClose: function(selectedDate) {
$(date_to).datepicker("option", "minDate", selectedDate);
}
});
}
// Finish date
function dateTo(date_from, date_to) {
$(date_to).datepicker({
dateFormat: "mm/dd/yy",
prevText: '<i class="fa fa-caret-left"></i>',
nextText: '<i class="fa fa-caret-right"></i>',
onClose: function(selectedDate) {
$(date_from).datepicker("option", "maxDate", selectedDate);
}
});
}
// Destroy date
function destroyDate(date) {
$(date).datepicker("destroy");
}
// Initialize date range
dateFrom("#date_from", "#date_to");
dateTo("#date_from", "#date_to");
/***************************************/
/* end datepicker */
/***************************************/
// Validation
$("#j-pro").justFormsPro({
rules: {
name: {
required: true
},
email: {
required: true,
email: true
},
phone: {
required: true
},
adults: {
required: true,
integer: true,
minvalue: 0
},
children: {
required: true,
integer: true,
minvalue: 0
},
date_from: {
required: true
},
date_to: {
required: true
},
message: {
required: true
}
},
messages: {
name: {
required: "Add your name"
},
email: {
required: "Add your email",
email: "Incorrect email format"
},
phone: {
required: "Add your phone"
},
adults: {
required: "Field is required",
integer: "Only integer allowed",
minvalue: "Value not less than 0"
},
children: {
required: "Field is required",
integer: "Only integer allowed",
minvalue: "Value not less than 0"
},
date_from: {
required: "Select check-in date"
},
date_to: {
required: "Select check-out date"
},
message: {
required: "Enter your message"
}
},
afterSubmitHandler: function() {
// Destroy date range
destroyDate("#date_from");
destroyDate("#date_to");
// Initialize date range
dateFrom("#date_from", "#date_to");
dateTo("#date_from", "#date_to");
return true;
}
});
});

21
src/main/resources/static/files/assets/pages/j-pro/js/custom/cloned-form.js

@ -0,0 +1,21 @@
$(document).ready(function(){
/***************************************/
/* Cloned element */
/***************************************/
$('.clone-widget').cloneya();
$('.clone-rightside-btn-1').cloneya();
$('.clone-rightside-btn-2').cloneya();
$('.clone-leftside-btn-1').cloneya();
$('.clone-leftside-btn-2').cloneya();
$('.clone-link').cloneya();
/***************************************/
/* end Cloned element */
/***************************************/
});

56
src/main/resources/static/files/assets/pages/j-pro/js/custom/contact-form.js

@ -0,0 +1,56 @@
$(document).ready(function() {
/***************************************/
/* Google map */
/***************************************/
function initialize() {
var mapProp = {
center: new google.maps.LatLng(40.7456584, -73.9787703, 12),
zoom: 12,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("google-map"), mapProp);
}
google.maps.event.addDomListener(window, 'load', initialize);
/***************************************/
/* end Google map */
/***************************************/
// Phone masking
$('#phone').mask('(999) 999-9999', { placeholder: 'x' });
// Validation
$("#j-pro").justFormsPro({
rules: {
name: {
required: true
},
email: {
required: true,
email: true
},
phone: {
required: true
},
message: {
required: true
}
},
messages: {
name: {
required: "Add your name"
},
email: {
required: "Add your email",
email: "Incorrect email format"
},
phone: {
required: "Add your phone"
},
message: {
required: "Enter your message"
}
}
});
});

60
src/main/resources/static/files/assets/pages/j-pro/js/custom/currency-form.js

@ -0,0 +1,60 @@
$(document).ready(function() {
/***************************************/
/* Initiallizing for the plugin */
/***************************************/
$('.currency').autoNumeric('init');
/***************************************/
/* end Initiallizing for the plugin */
/***************************************/
/***************************************/
/* Select currency section */
/***************************************/
$('#input-select-currency').autoNumeric('init');
$('#radio-select-currency').change(function() {
var value = $('#radio-select-currency input:checked').val();
if (value == 'dollar') {
$('#input-select-currency').autoNumeric('update', { aSign: '$ ' });
}
if (value == 'euro') {
$('#input-select-currency').autoNumeric('update', { aSign: '€ ' });
}
if (value == 'pound') {
$('#input-select-currency').autoNumeric('update', { aSign: '£ ' });
}
if (value == 'yen') {
$('#input-select-currency').autoNumeric('update', { aSign: '¥ ' });
}
}).change();
/***************************************/
/* end Select currency section */
/***************************************/
});
$(function() {
// Default
$("#stepper1").stepper({});
// Disable mouse wheel
$("#stepper2").stepper({
allowWheel: false,
UI: false,
arrowStep: 0.1
});
// Value range (min: -10; max: 10)
$("#stepper3").stepper({
limit: [-10, 10],
wheelStep: 0.2,
});
// Limit (min: 5)
$("#stepper4").stepper({
limit: [5, ]
});
});

6
src/main/resources/static/files/assets/pages/j-pro/js/custom/form-comment.js

@ -0,0 +1,6 @@
"use strict";
$(document).ready(function() {
// Single swithces
var elemsingle = document.querySelector('.js-single');
var switchery = new Switchery(elemsingle, { color: '#4680ff', jackColor: '#fff' });
});

94
src/main/resources/static/files/assets/pages/j-pro/js/custom/form-job.js

@ -0,0 +1,94 @@
$(document).ready(function(){
// Phone masking
$('#phone').mask('(999) 999-9999', {placeholder:'x'});
// Validation
$( "#j-pro" ).justFormsPro({
rules: {
first_name: {
required: true
},
last_name: {
required: true
},
email: {
required: true,
email: true
},
phone: {
required: true
},
country: {
required: true
},
city: {
required: true
},
post_code: {
required: true
},
address: {
required: true
},
position: {
required: true
},
message: {
required: false
},
file1: {
validate: true,
required: false,
size: 1,
extension: "xls|xlsx|docx|doc"
},
file2: {
validate: true,
required: false,
size: 1,
extension: "xls|xlsx|docx|doc"
}
},
messages: {
first_name: {
required: "Add your first name"
},
last_name: {
required: "Add your last name"
},
email: {
required: "Add your email",
email: "Incorrect email format"
},
phone: {
required: "Add your phone"
},
country: {
required: "Select your country"
},
city: {
required: "Add your city"
},
post_code: {
required: "Add your post code"
},
address: {
required: "Add your address"
},
position: {
required: "Select desired position"
},
message: {
required: "Add your message"
},
file1: {
size_extension: "File types: xls/xlsx/docx/doc. Size: 1Mb"
},
file2: {
size_extension: "File types: xls/xlsx/docx/doc. Size: 1Mb"
}
},
debug: true
});
});

21
src/main/resources/static/files/assets/pages/j-pro/js/custom/login-form.js

@ -0,0 +1,21 @@
$( document ).ready( function(){
$( "#j-pro" ).justFormsPro({
rules:{
login: {
required: true
},
password: {
required: true
}
},
messages:{
login: {
required: "Login is required"
},
password: {
required: "Password is required"
}
},
debug: true
});
});

80
src/main/resources/static/files/assets/pages/j-pro/js/custom/popup-menu-form.js

@ -0,0 +1,80 @@
$(document).ready(function() {
/***************************************/
/* Popup menu forms */
/***************************************/
// If user clicks on the 'subscribe' item
// Open popup-menu subscribe form
$('#sub-popup-menu').on('click', function() {
if ($('#sub-popup-menu .popup-list-wrapper').css('display') == 'none') {
$('#sub-popup-menu .popup-list-wrapper').css({
display: 'block',
left: 'auto',
right: '0',
opacity: '1'
});
}
});
// If user clicks on the 'login' item
// Open popup-menu login form
$('#log-popup-menu').on('click', function() {
if ($('#log-popup-menu .popup-list-wrapper').css('display') == 'none') {
$('#log-popup-menu .popup-list-wrapper').css({
display: 'block',
left: 'auto',
right: '0',
opacity: '1'
});
}
});
// If user clicks on the 'registration' item
// Open popup-menu registration form
$('#reg-popup-menu').on('click', function() {
if ($('#reg-popup-menu .popup-list-wrapper').css('display') == 'none') {
$('#reg-popup-menu .popup-list-wrapper').css({
display: 'block',
left: 'auto',
right: '0',
opacity: '1'
});
}
});
// Add an event listener
// If user clicks outside a form
// The form will disappear
$(document).on('click touchstart', function(event) {
// Close popup-menu 'subscribe' form
if (!$(event.target).closest('#sub-popup-menu').length) {
if ($('#sub-popup-menu .popup-list-wrapper').css('display') == 'block') {
$('#sub-popup-menu .popup-list-wrapper').css({
display: 'none',
left: '-9999px',
opacity: '0'
});
}
}
// Close popup-menu 'login' form
if (!$(event.target).closest('#log-popup-menu').length) {
if ($('#log-popup-menu .popup-list-wrapper').css('display') == 'block') {
$('#log-popup-menu .popup-list-wrapper').css({
display: 'none',
left: '-9999px',
opacity: '0'
});
}
}
// Close popup-menu 'registration' form
if (!$(event.target).closest('#reg-popup-menu').length) {
if ($('#reg-popup-menu .popup-list-wrapper').css('display') == 'block') {
$('#reg-popup-menu .popup-list-wrapper').css({
display: 'none',
left: '-9999px',
opacity: '0'
});
}
}
});
/***************************************/
/* end popup menu forms */
/***************************************/
});

35
src/main/resources/static/files/assets/pages/j-pro/js/custom/reg-form.js

@ -0,0 +1,35 @@
$(document).ready(function(){
// Validation
$( "#j-pro" ).justFormsPro({
rules: {
name: {
required: true
},
email: {
required: true,
email: true
},
login: {
required: true
},
password: {
required: true
}
},
messages: {
name: {
required: "Add your name"
},
email: {
required: "Add your email",
email: "Incorrect email format"
},
login: {
required: "Add your login"
},
password: {
required: "Add your password"
}
}
});
});

30
src/main/resources/static/files/assets/pages/j-pro/js/custom/review-form.js

@ -0,0 +1,30 @@
$(document).ready(function(){
// Validation
$( "#j-pro" ).justFormsPro({
rules: {
name: {
required: true
},
email: {
required: true,
email: true
},
message: {
required: true
}
},
messages: {
name: {
required: "Add your name"
},
email: {
required: "Add your email",
email: "Incorrect email format"
},
message: {
required: "Enter your message"
}
}
});
});

30
src/main/resources/static/files/assets/pages/j-pro/js/custom/subscrbe-form.js

@ -0,0 +1,30 @@
$(document).ready(function(){
// Validation
$( "#j-pro" ).justFormsPro({
rules: {
"newsletter[]": {
required: true
},
"news[]": {
required: true
},
email: {
required: true,
email: true
}
},
messages: {
"newsletter[]": {
required: "Select type of newsletter"
},
"news[]": {
required: "Select type of news"
},
email: {
required: "Add your email",
email: "Incorrect email format"
}
}
});
});

56
src/main/resources/static/files/assets/pages/j-pro/js/custom/suggestion-form.js

@ -0,0 +1,56 @@
$(document).ready(function(){
// Validation
$( "#j-pro" ).justFormsPro({
rules: {
first_name: {
requiredFromGroup: [1, ".name-group"]
},
last_name: {
requiredFromGroup: [1, ".name-group"]
},
email: {
required: true,
email: true
},
department: {
required: true
},
subject: {
required: true
},
message: {
required: true
},
file_name: {
validate: true,
required: false,
size: 1,
extension: "jpg|jpeg|png|doc|docx"
}
},
messages: {
first_name: {
requiredFromGroup: "Add your name"
},
last_name: {
requiredFromGroup: "Add your name"
},
email: {
required: "Add your email",
email: "Incorrect email format"
},
department: {
required: "Add your department"
},
subject: {
required: "Add subject"
},
message: {
required: "Enter your suggestion"
},
file_name: {
size_extension: "File types: jpg, png, doc. Size: 1Mb",
}
}
});
});

1
src/main/resources/static/files/assets/pages/j-pro/js/j-forms-additions.min.js

@ -0,0 +1 @@
$(document).ready(function(){$("#show-pass").on("change",function(){$("#show-pass").is(":checked")?$("#password").attr("type","text"):$("#password").attr("type","password")}),$("#check-enable-input").on("change",function(){$("#check-enable-input").is(":checked")?$("#enable-input").attr("disabled",!1).parent().removeClass("disabled-view"):$("#enable-input").attr("disabled",!0).parent().addClass("disabled-view")}),$("#check-enable-button").on("change",function(){$("#check-enable-button").is(":checked")?$("#enable-button").attr("disabled",!1).removeClass("disabled-view"):$("#enable-button").attr("disabled",!0).addClass("disabled-view")}),$models=[],$colors=[],$models.VO=["V70","XC60","XC90"],$models.VW=["Golf","Polo","Scirocco","Touareg"],$models.BMW=["M6","X5","Z3"],$colors.V70=["black","white"],$colors.XC60=["green","orange"],$colors.XC90=["brown","red"],$colors.Golf=["purple","yellow"],$colors.Polo=["grey","indigo"],$colors.Scirocco=["blue","teal","cyan"],$colors.Touareg=["red","black","orange","brown"],$colors.M6=["orange","brown","red","indigo","cyan"],$colors.X5=["white","green","cyan"],$colors.Z3=["teal","purple","cyan"],$("#car").change(function(){if($("#car-model option").length&&$("#car-model option:gt(0)").remove(),$("#car-model-color option").length&&$("#car-model-color option:gt(0)").remove(),$("#car option:selected").each(function(){$car_val=$(this).val()}),$car=$models[$car_val])for($i=0;$i<$car.length;$i++)$opt='<option value="'+$car[$i]+'">'+$car[$i]+"</option>",$("#car-model").append($opt)}),$("#car-model").change(function(){if($("#car-model-color option").length&&$("#car-model-color option:gt(0)").remove(),$("#car-model option:selected").each(function(){$car_model_val=$(this).val()}),$color=$colors[$car_model_val])for($i=0;$i<$color.length;$i++)$opt='<option value="'+$color[$i]+'">'+$color[$i]+"</option>",$("#car-model-color").append($opt)}),$("#show-elements-checkbox").on("change",function(){$("#show-elements-checkbox").is(":checked")?$(".hidden-elements").removeClass("hidden"):$(".hidden-elements").addClass("hidden")}),$("#show-elements-select").change(function(){var e="",o=$("#field-1"),a=$("#field-2");$("#show-elements-select option:selected").each(function(){e=$(this).val()}),"none"==e&&(o.hasClass("hidden")||o.addClass("hidden"),a.hasClass("hidden")||a.addClass("hidden")),"field-1"==e&&(o.hasClass("hidden")&&o.removeClass("hidden"),a.hasClass("hidden")||a.addClass("hidden")),"field-2"==e&&(a.hasClass("hidden")&&a.removeClass("hidden"),o.hasClass("hidden")||o.addClass("hidden")),"field-1-2"==e&&(o.hasClass("hidden")&&o.removeClass("hidden"),a.hasClass("hidden")&&a.removeClass("hidden"))}).change(),$("#subscribe").change(function(){$("#subscribe").is(":checked")?($(".subscribe").removeClass("disabled-view"),$('.subscribe input[type="checkbox"]').removeAttr("disabled")):($(".subscribe").addClass("disabled-view"),$('.subscribe input[type="checkbox"]').attr("disabled","true").removeAttr("checked"))}).change()});

1
src/main/resources/static/files/assets/pages/j-pro/js/jquery-cloneya.min.js

@ -0,0 +1 @@
!function(a){"use strict";function b(b,c){this.regex=/^(.*)(\d)+$/i,this.elem=b,this.$elem=a(b),"undefined"!=typeof c&&"undefined"!=typeof c.limit&&c.limit>0&&(c.maximum=c.limit),this.config=a.extend({},d,c),this.clones=this.$elem.closestChild(this.config.cloneThis),this.init()}var c="cloneya",d={cloneThis:".toclone",cloneButton:".clone",deleteButton:".delete",clonePosition:"after",minimum:1,maximum:999,valueClone:!1,dataClone:!1,deepClone:!1,serializeID:!0,ignore:"label.error",preserveChildCount:!1};b.prototype={init:function(){var b=this;b.$elem.addClass(c+"-wrap"),b.clones.addClass(c),b.clones.data("initialCount",b.clones.length),b.$elem.on("click."+c,b.config.cloneThis+">"+b.config.cloneButton,function(d){d.preventDefault(),d.stopPropagation();var e=a(this).closest(b.config.cloneThis);b.$elem.triggerAll("clone_clone clone."+c,[e])}),b.$elem.on("clone."+c,function(a,c){b._cloneAndAppend(c)}),b.$elem.on("click."+c,b.config.cloneThis+">"+b.config.deleteButton,function(d){d.preventDefault(),d.stopPropagation();var e=a(this).closest(b.config.cloneThis);b.$elem.triggerAll("clone_delete delete."+c,[e])}),b.$elem.on("delete."+c,function(d,e){var f=e.closest(b.elem).closestChild(b.config.cloneThis).length;f>b.config.minimum?(b.$elem.triggerAll("clone_before_delete before_delete."+c,[e,f]),b.$elem.triggerHandler("remove."+c,[e]),b.$elem.triggerAll("clone_after_delete after_delete."+c)):(b.$elem.triggerHandler("minimum."+c,b.config.minimum,[e]),e.find("input, textarea, select").each(function(){b._clearForm(a(this))}))}),b.$elem.on("remove."+c,function(b,c){a(c).remove()})},_clean:function(){var a=this;a.$elem.removeClass(c+"-wrap"),a.clones.removeClass(c),a.$elem.off("click."+c,a.config.cloneThis+">"+a.config.cloneButton),a.$elem.off("click."+c,a.config.cloneThis+">"+a.config.deleteButton),a.$elem.off("clone_clone clone_delete clone_before_delete clone."+c+" delete."+c+" before_delete."+c)},destroy:function(){this._clean(),this.$elem.removeData(c)},getOption:function(){return this.config},setOption:function(b){a.extend(this.config,b||{}),this._clean(),this.init()},_cloneAndAppend:function(a){var b=a.closest(this.elem).closestChild(this.config.cloneThis).length;if(b<this.config.maximum){this.$elem.triggerAll("clone_before_clone before_clone."+c,[a]);var d=this._cloneItem(a);this.$elem.triggerAll("clone_after_clone after_clone."+c,[a,d]),this.clones.add(d),this.$elem.triggerAll("clone_before_append before_append."+c,[a,d]),"after"!==this.config.clonePosition?a.before(d):a.after(d),this.config.ignore&&d.find(this.config.ignore).remove(),this._redoIDs(),this.$elem.triggerAll("clone_after_append after_append."+c,[a,d])}else this.$elem.triggerAll("clone_limit maximum."+c,this.config.maximum,[a])},_cloneItem:function(b){var d=this,e=b.clone({withDataAndEvents:d.config.dataClone,deepWithDataAndEvents:d.config.deepClone});return d.config.preserveChildCount!==!1&&e.find("."+c+"-wrap").each(function(){var b=a(this).closestChild("."+c),d=b.data("initialCount"),e=b.slice(d,b.length);e.remove()}),e.find("input, textarea, select").each(function(){d._clearForm(a(this)),d.$elem.triggerAll("clone_form_input form_input."+c,[a(this),b,e])}),e},_clearForm:function(a){this.config.valueClone||a.hasClass("noEmpty")||(a.is(":checkbox")||a.is(":radio")?a.prop("checked",!1):a.val(""))},_redoIDs:function(){var b=this;if(b.config.serializeID===!0){var c=b.$elem.find(b.config.cloneThis).first().attr("id");b.$elem.find(b.config.cloneThis).each(function(d){var e;e=0!==d?d:"",a(this).attr("id")&&a(this).attr("id",c+e);var f,g;a(this).find("*").each(function(){if(f=a(this).attr("id")){var c=f.match(b.regex);c&&3===c.length?(g=f.replace(/\d+$/,"")+e,a(this).attr("id",g)):(g=f+e,a(this).attr("id",g))}if(a(this).closest(b.config.cloneThis).find("label[for='"+f+"']").attr("for",g),b.config.serializeIndex){var h=a(this).attr("name");if(h){var i=h.match(/\[([^}]+)\]/);if(i&&i.length>=1){var j=h;h=[].map.call(j,function(a,b){return isNaN(+a)||"["!==j[b-1]||"]"!==j[b+1]?a:d}).join(""),a(this).attr("name",h)}}}})})}}},a.fn[c]=function(d){var e=arguments;if(void 0===d||"object"==typeof d)return this.each(function(){a.data(this,c)||a.data(this,c,new b(this,d))});if("string"==typeof d&&"_"!==d[0]&&"init"!==d){if(0===Array.prototype.slice.call(e,1).length&&-1!==a.inArray(d,a.fn[c].getters)){var f=a.data(this[0],c);return f[d].apply(f,Array.prototype.slice.call(e,1))}return this.each(function(){var f=a.data(this,c);f instanceof b&&"function"==typeof f[d]&&f[d].apply(f,Array.prototype.slice.call(e,1))})}},a.fn[c].getters=["getOption"],a.fn.closestChild=function(b){var c,d;return c=this.children(),0===c.length?a():(d=c.filter(b),d.length>0?d:c.closestChild(b))},a.fn.extend({triggerAll:function(a,b){var c,d=this,e=a.split(" ");for(c=0;c<e.length;c+=1)d.triggerHandler(e[c],b);return d}})}(jQuery);

1593
src/main/resources/static/files/assets/pages/j-pro/js/jquery.j-pro.js
File diff suppressed because it is too large
View File

7
src/main/resources/static/files/assets/pages/j-pro/js/jquery.maskedinput.min.js

@ -0,0 +1,7 @@
/*
jQuery Masked Input Plugin
Copyright (c) 2007 - 2014 Josh Bush (digitalbush.com)
Licensed under the MIT license (http://digitalbush.com/projects/masked-input-plugin/#license)
Version: 1.4.0
*/
!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a("object"==typeof exports?require("jquery"):jQuery)}(function(a){var b,c=navigator.userAgent,d=/iphone/i.test(c),e=/chrome/i.test(c),f=/android/i.test(c);a.mask={definitions:{9:"[0-9]",a:"[A-Za-z]","*":"[A-Za-z0-9]"},autoclear:!0,dataName:"rawMaskFn",placeholder:"_"},a.fn.extend({caret:function(a,b){var c;if(0!==this.length&&!this.is(":hidden"))return"number"==typeof a?(b="number"==typeof b?b:a,this.each(function(){this.setSelectionRange?this.setSelectionRange(a,b):this.createTextRange&&(c=this.createTextRange(),c.collapse(!0),c.moveEnd("character",b),c.moveStart("character",a),c.select())})):(this[0].setSelectionRange?(a=this[0].selectionStart,b=this[0].selectionEnd):document.selection&&document.selection.createRange&&(c=document.selection.createRange(),a=0-c.duplicate().moveStart("character",-1e5),b=a+c.text.length),{begin:a,end:b})},unmask:function(){return this.trigger("unmask")},mask:function(c,g){var h,i,j,k,l,m,n,o;if(!c&&this.length>0){h=a(this[0]);var p=h.data(a.mask.dataName);return p?p():void 0}return g=a.extend({autoclear:a.mask.autoclear,placeholder:a.mask.placeholder,completed:null},g),i=a.mask.definitions,j=[],k=n=c.length,l=null,a.each(c.split(""),function(a,b){"?"==b?(n--,k=a):i[b]?(j.push(new RegExp(i[b])),null===l&&(l=j.length-1),k>a&&(m=j.length-1)):j.push(null)}),this.trigger("unmask").each(function(){function h(){if(g.completed){for(var a=l;m>=a;a++)if(j[a]&&C[a]===p(a))return;g.completed.call(B)}}function p(a){return g.placeholder.charAt(a<g.placeholder.length?a:0)}function q(a){for(;++a<n&&!j[a];);return a}function r(a){for(;--a>=0&&!j[a];);return a}function s(a,b){var c,d;if(!(0>a)){for(c=a,d=q(b);n>c;c++)if(j[c]){if(!(n>d&&j[c].test(C[d])))break;C[c]=C[d],C[d]=p(d),d=q(d)}z(),B.caret(Math.max(l,a))}}function t(a){var b,c,d,e;for(b=a,c=p(a);n>b;b++)if(j[b]){if(d=q(b),e=C[b],C[b]=c,!(n>d&&j[d].test(e)))break;c=e}}function u(){var a=B.val(),b=B.caret();if(a.length<o.length){for(A(!0);b.begin>0&&!j[b.begin-1];)b.begin--;if(0===b.begin)for(;b.begin<l&&!j[b.begin];)b.begin++;B.caret(b.begin,b.begin)}else{for(A(!0);b.begin<n&&!j[b.begin];)b.begin++;B.caret(b.begin,b.begin)}h()}function v(){A(),B.val()!=E&&B.change()}function w(a){if(!B.prop("readonly")){var b,c,e,f=a.which||a.keyCode;o=B.val(),8===f||46===f||d&&127===f?(b=B.caret(),c=b.begin,e=b.end,e-c===0&&(c=46!==f?r(c):e=q(c-1),e=46===f?q(e):e),y(c,e),s(c,e-1),a.preventDefault()):13===f?v.call(this,a):27===f&&(B.val(E),B.caret(0,A()),a.preventDefault())}}function x(b){if(!B.prop("readonly")){var c,d,e,g=b.which||b.keyCode,i=B.caret();if(!(b.ctrlKey||b.altKey||b.metaKey||32>g)&&g&&13!==g){if(i.end-i.begin!==0&&(y(i.begin,i.end),s(i.begin,i.end-1)),c=q(i.begin-1),n>c&&(d=String.fromCharCode(g),j[c].test(d))){if(t(c),C[c]=d,z(),e=q(c),f){var k=function(){a.proxy(a.fn.caret,B,e)()};setTimeout(k,0)}else B.caret(e);i.begin<=m&&h()}b.preventDefault()}}}function y(a,b){var c;for(c=a;b>c&&n>c;c++)j[c]&&(C[c]=p(c))}function z(){B.val(C.join(""))}function A(a){var b,c,d,e=B.val(),f=-1;for(b=0,d=0;n>b;b++)if(j[b]){for(C[b]=p(b);d++<e.length;)if(c=e.charAt(d-1),j[b].test(c)){C[b]=c,f=b;break}if(d>e.length){y(b+1,n);break}}else C[b]===e.charAt(d)&&d++,k>b&&(f=b);return a?z():k>f+1?g.autoclear||C.join("")===D?(B.val()&&B.val(""),y(0,n)):z():(z(),B.val(B.val().substring(0,f+1))),k?b:l}var B=a(this),C=a.map(c.split(""),function(a,b){return"?"!=a?i[a]?p(b):a:void 0}),D=C.join(""),E=B.val();B.data(a.mask.dataName,function(){return a.map(C,function(a,b){return j[b]&&a!=p(b)?a:null}).join("")}),B.one("unmask",function(){B.off(".mask").removeData(a.mask.dataName)}).on("focus.mask",function(){if(!B.prop("readonly")){clearTimeout(b);var a;E=B.val(),a=A(),b=setTimeout(function(){z(),a==c.replace("?","").length?B.caret(0,a):B.caret(a)},10)}}).on("blur.mask",v).on("keydown.mask",w).on("keypress.mask",x).on("input.mask paste.mask",function(){B.prop("readonly")||setTimeout(function(){var a=A(!0);B.caret(a),h()},0)}),e&&f&&B.off("input.mask").on("input.mask",u),A()})}})});

6
src/main/resources/static/files/assets/pages/j-pro/js/jquery.stepper.min.js

@ -0,0 +1,6 @@
/*
Numeric Stepper jQuery plugin
Licensed under MIT:
Copyright (c) Luciano Longo
*/
(function($){$.fn.stepper=function(options){var _defaults={type:'float',floatPrecission:2,ui:true,allowWheel:true,allowArrows:true,arrowStep:1,wheelStep:1,limit:[null,null],preventWheelAcceleration:true,onStep:null,onWheel:null,onArrow:null,onButton:null,onKeyUp:null};return $(this).each(function(){var $data=$(this).data();delete $data.stepper;var _options=$.extend({},_defaults,options,$data),$this=$(this),$wrap=$('<div class="stepper"/>');if($this.data('stepper'))return;$wrap.insertAfter($this);$this.appendTo($wrap);$this.stepper=(function(){return{limit:_limit,decimalRound:_decimal_round,onStep:function(callback){_options.onStep=callback},onWheel:function(callback){_options.onWheel=callback},onArrow:function(callback){_options.onArrow=callback},onButton:function(callback){_options.onButton=callback},onKeyUp:function(callback){_options.onKeyUp=callback}}})();$this.data('stepper',$this.stepper);if(_options.ui){var $btnWrap=$('<div class="stepper-wrapper"/>').appendTo($wrap),$btnUp=$('<i class="stepper-arrow up"></i>').appendTo($btnWrap),$btnDown=$('<i class="stepper-arrow down"></i>').appendTo($btnWrap);$this.css('margin',0);var stepInterval;$btnUp.mousedown(function(e){e.preventDefault();var val=_step(_options.arrowStep);_evt('Button',[val,true])});$btnDown.mousedown(function(e){e.preventDefault();var val=_step(-_options.arrowStep);_evt('Button',[val,false])});$(document).mouseup(function(){clearInterval(stepInterval)})}if(_options.allowWheel){$wrap.bind('DOMMouseScroll',_handleWheel);$wrap.bind('mousewheel',_handleWheel)}$wrap.keydown(function(e){var key=e.which,val=$this.val();if(_options.allowArrows)switch(key){case 38:val=_step(_options.arrowStep);_evt('Arrow',[val,true]);break;case 40:val=_step(-_options.arrowStep);_evt('Arrow',[val,false]);break}if((key<37&&key>40)||(key>57&&key<91)||(key>105&&key!=110&&key!=190))e.preventDefault();if(_options.type=='float'&&$.inArray(key,[110,190])!=-1&&val.indexOf('.')!=-1)e.preventDefault()}).keyup(function(e){_evt('KeyUp',[$this.val()])});function _handleWheel(e){e.preventDefault();var d,evt=e.originalEvent;if(evt.wheelDelta)d=evt.wheelDelta/120;else if(evt.detail)d=-evt.detail/3;if(d){if(_options.preventWheelAcceleration)d=d<0?-1:1;var val=_step(_options.wheelStep*d);_evt('Wheel',[val,d>0])}}function _step(step){if(!$this.val())$this.val(0);var typeCast=_options.type=='int'?parseInt:parseFloat,val=_limit(typeCast($this.val())+step);$this.val(val);_evt('Step',[val,step>0]);return val}function _evt(name,args){var callback=_options['on'+name];if(typeof callback=='function')callback.apply($this,args)}function _limit(num){var min=_options.limit[0],max=_options.limit[1];if(min!==null&&num<min)num=min;else if(max!==null&&num>max)num=max;return _decimal_round(num)}function _decimal_round(num,precission){if(typeof precission=='undefined')precission=_options.floatPrecission;var pow=Math.pow(10,precission);num=Math.round(num*pow)/pow;return num}})}})(jQuery);

8
src/main/resources/static/files/assets/pages/j-pro/js/jquery.ui.min.js
File diff suppressed because it is too large
View File

86
src/main/resources/static/files/assets/pages/jqpagination/jqpagination.css

@ -0,0 +1,86 @@
.jqpagination {
display: inline-block;
border: 1px solid #CDCDCD;
border-radius: 3px; }
.jqpagination a {
display: block;
float: left;
width: 20px;
height: 30px;
outline: none;
border-right: 1px solid #CDCDCD;
border-left: 1px solid #CDCDCD;
color: #555555;
vertical-align: middle;
text-align: center;
text-decoration: none;
font-weight: bold;
font-size: 16px;
font-family: Times, 'Times New Roman', Georgia, Palatino;
/* ATTN: need a better font stack */
background-color: #f3f3f3;
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f3f3f3), color-stop(100%, lightgrey));
background-image: -webkit-linear-gradient(#f3f3f3, lightgrey);
background-image: linear-gradient(#f3f3f3, lightgrey); }
.jqpagination a:hover, .jqpagination a:focus, .jqpagination a:active {
background-color: #cecece;
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #e4e4e4), color-stop(100%, #cecece));
background-image: -webkit-linear-gradient(#e4e4e4, #cecece);
background-image: linear-gradient(#e4e4e4, #cecece); }
.jqpagination a.disabled, .jqpagination a.disabled:hover, .jqpagination a.disabled:focus, .jqpagination a.disabled:active {
background-color: #f3f3f3;
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f3f3f3), color-stop(100%, lightgrey));
background-image: -webkit-linear-gradient(#f3f3f3, lightgrey);
background-image: linear-gradient(#f3f3f3, lightgrey);
color: #A8A8A8;
cursor: default; }
.jqpagination a:first-child {
border: none;
border-radius: 2px 0 0 2px; }
.jqpagination a:last-child {
border: none;
border-radius: 0 2px 2px 0; }
.jqpagination input {
float: left;
margin:5px 0 ;
padding: 0;
width: 120px;
height: 20px;
outline: none;
border: none;
vertical-align: middle;
text-align: center; }
/* gigantic class for demo purposes */
.gigantic.jqpagination {
margin: 30px 0; }
.gigantic.jqpagination a {
height: 60px;
width: 60px;
font-size: 50px;
line-height: 50px; }
.gigantic.jqpagination input {
width: 300px;
height: 60px;
font-size: 30px; }
/* log element for demo purposes */
.log {
display: none;
background-color: #EDEDED;
border: 1px solid #B4B4B4;
height: 300px;
width: 524px;
overflow: auto;
margin-left: 0;
list-style: none;
padding: 10px; }
.log li {
margin-top: 0;
margin-bottom: 5px; }

429
src/main/resources/static/files/assets/pages/jqpagination/jquery.jqpagination.js

@ -0,0 +1,429 @@
/*!
* jqPagination, a jQuery pagination plugin (obviously)
* Version: 1.4 (26th July 2013)
*
* Copyright (C) 2013 Ben Everard
*
* http://beneverard.github.com/jqPagination
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
(function ($) {
"use strict";
$.jqPagination = function (el, options) {
// To avoid scope issues, use 'base' instead of 'this'
// to reference this class from internal events and functions.
var base = this;
// Access to jQuery and DOM versions of element
base.$el = $(el);
base.el = el;
// get input jQuery object
base.$input = base.$el.find('input');
// Add a reverse reference to the DOM object
base.$el.data("jqPagination", base);
base.init = function () {
base.options = $.extend({}, $.jqPagination.defaultOptions, options);
// if the user hasn't provided a max page number in the options try and find
// the data attribute for it, if that cannot be found, use one as a max page number
if (base.options.max_page === null) {
if (base.$input.data('max-page') !== undefined) {
base.options.max_page = base.$input.data('max-page');
} else {
base.options.max_page = 1;
}
}
// if the current-page data attribute is specified this takes priority
// over the options passed in, so long as it's a number
if (base.$input.data('current-page') !== undefined && base.isNumber(base.$input.data('current-page'))) {
base.options.current_page = base.$input.data('current-page');
}
// remove the readonly attribute as JavaScript must be working by now ;-)
base.$input.removeAttr('readonly');
// set the initial input value
// pass true to prevent paged callback form being fired
base.updateInput(true);
//***************
// BIND EVENTS
base.$input.on('focus.jqPagination mouseup.jqPagination', function (event) {
// if event === focus, select all text...
if (event.type === 'focus') {
var current_page = parseInt(base.options.current_page, 10);
$(this).val(current_page).select();
}
// if event === mouse up, return false. Fixes Chrome bug
if (event.type === 'mouseup') {
return false;
}
});
base.$input.on('blur.jqPagination keydown.jqPagination', function (event) {
var $self = $(this),
current_page = parseInt(base.options.current_page, 10);
// if the user hits escape revert the input back to the original value
if (event.keyCode === 27) {
$self.val(current_page);
$self.blur();
}
// if the user hits enter, trigger blur event but DO NOT set the page value
if (event.keyCode === 13) {
$self.blur();
}
// only set the page is the event is focusout.. aka blur
if (event.type === 'blur') {
base.setPage($self.val());
}
});
base.$el.on('click.jqPagination', 'a', function (event) {
var $self = $(this);
// we don't want To Do anything if we've clicked a disabled link
// return false so we stop normal link action btu also drop out of this event
if ($self.hasClass('disabled')) {
return false;
}
// for mac + windows (read: other), maintain the cmd + ctrl click for new tab
if (!event.metaKey && !event.ctrlKey) {
event.preventDefault();
base.setPage($self.data('action'));
}
});
};
base.setPage = function (page, prevent_paged) {
// return current_page value if getting instead of setting
if (page === undefined) {
return base.options.current_page;
}
var current_page = parseInt(base.options.current_page, 10),
max_page = parseInt(base.options.max_page, 10);
if (isNaN(parseInt(page, 10))) {
switch (page) {
case 'first':
page = 1;
break;
case 'prev':
case 'previous':
page = current_page - 1;
break;
case 'next':
page = current_page + 1;
break;
case 'last':
page = max_page;
break;
}
}
page = parseInt(page, 10);
// reject any invalid page requests
if (isNaN(page) || page < 1 || page > max_page) {
// update the input element
base.setInputValue(current_page);
return false;
}
// update current page options
base.options.current_page = page;
base.$input.data('current-page', page);
// update the input element
base.updateInput( prevent_paged );
};
base.setMaxPage = function (max_page, prevent_paged) {
// return the max_page value if getting instead of setting
if (max_page === undefined) {
return base.options.max_page;
}
// ignore if max_page is not a number
if (!base.isNumber(max_page)) {
console.error('jqPagination: max_page is not a number');
return false;
}
// ignore if max_page is less than the current_page
if (max_page < base.options.current_page) {
console.error('jqPagination: max_page lower than current_page');
return false;
}
// set max_page options
base.options.max_page = max_page;
base.$input.data('max-page', max_page);
// update the input element
base.updateInput( prevent_paged );
};
// ATTN this isn't really the correct name is it?
base.updateInput = function (prevent_paged) {
var current_page = parseInt(base.options.current_page, 10);
// set the input value
base.setInputValue(current_page);
// set the link href attributes
base.setLinks(current_page);
// we may want to prevent the paged callback from being fired
if (prevent_paged !== true) {
// fire the callback function with the current page
base.options.paged(current_page);
}
};
base.setInputValue = function (page) {
var page_string = base.options.page_string,
max_page = base.options.max_page;
// this looks horrible :-(
page_string = page_string
.replace("{current_page}", page)
.replace("{max_page}", max_page);
base.$input.val(page_string);
};
base.isNumber = function(n) {
return !isNaN(parseFloat(n)) && isFinite(n);
};
base.setLinks = function (page) {
var link_string = base.options.link_string,
current_page = parseInt(base.options.current_page, 10),
max_page = parseInt(base.options.max_page, 10);
if (link_string !== '') {
// set initial page numbers + make sure the page numbers aren't out of range
var previous = current_page - 1;
if (previous < 1) {
previous = 1;
}
var next = current_page + 1;
if (next > max_page) {
next = max_page;
}
// apply each page number to the link string, set it back to the element href attribute
base.$el.find('a.first').attr('href', link_string.replace('{page_number}', '1'));
base.$el.find('a.prev, a.previous').attr('href', link_string.replace('{page_number}', previous));
base.$el.find('a.next').attr('href', link_string.replace('{page_number}', next));
base.$el.find('a.last').attr('href', link_string.replace('{page_number}', max_page));
}
// set disable class on appropriate links
base.$el.find('a').removeClass('disabled');
if (current_page === max_page) {
base.$el.find('.next, .last').addClass('disabled');
}
if (current_page === 1) {
base.$el.find('.previous, .first').addClass('disabled');
}
};
base.callMethod = function (method, key, value) {
switch (method.toLowerCase()) {
case 'option':
// if we're getting, immediately return the value
if ( value === undefined && typeof key !== "object" ) {
return base.options[key];
}
// set default object to trigger the paged event (legacy opperation)
var options = {'trigger': true},
result = false;
// if the key passed in is an object
if($.isPlainObject(key) && !value){
$.extend(options, key)
}
else{ // make the key value pair part of the default object
options[key] = value;
}
var prevent_paged = (options.trigger === false);
// if current_page property is set call setPage
if(options.current_page !== undefined){
result = base.setPage(options.current_page, prevent_paged);
}
// if max_page property is set call setMaxPage
if(options.max_page !== undefined){
result = base.setMaxPage(options.max_page, prevent_paged);
}
// if we've not got a result fire an error and return false
if( result === false ) console.error('jqPagination: cannot get / set option ' + key);
return result;
break;
case 'destroy':
base.$el
.off('.jqPagination')
.find('*')
.off('.jqPagination');
break;
default:
// the function name must not exist
console.error('jqPagination: method "' + method + '" does not exist');
return false;
}
};
// Run initializer
base.init();
};
$.jqPagination.defaultOptions = {
current_page : 1,
link_string : '',
max_page : null,
page_string : 'Page {current_page} of {max_page}',
paged : function () {}
};
$.fn.jqPagination = function () {
// get any function parameters
var self = this,
$self = $(self),
args = Array.prototype.slice.call(arguments),
result = false;
// if the first argument is a string call the desired function
// note: we can only do this to a single element, and not a collection of elements
if (typeof args[0] === 'string') {
// if we're getting, we can only get value for the first pagination element
if (args[2] === undefined) {
result = $self.first().data('jqPagination').callMethod(args[0], args[1]);
} else {
// if we're setting, set values for all pagination elements
$self.each(function(){
result = $(this).data('jqPagination').callMethod(args[0], args[1], args[2]);
});
}
return result;
}
// if we're not dealing with a method, initialise plugin
self.each(function () {
(new $.jqPagination(this, args[0]));
});
};
})(jQuery);
// polyfill, provide a fallback if the console doesn't exist
if (!console) {
var console = {},
func = function () { return false; };
console.log = func;
console.info = func;
console.warn = func;
console.error = func;
}

415
src/main/resources/static/files/assets/pages/jquery.filer/css/jquery.filer.css

@ -0,0 +1,415 @@
/*!
* CSS jQuery.filer
* Copyright (c) 2016 CreativeDream
* Version: 1.3 (14-Sep-2016)
*/
@import url('../fonts/jquery.filer-icons/jquery-filer.css');
/*-------------------------
Basic configurations
-------------------------*/
.jFiler * {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.jFiler {
font-family: sans-serif;
font-size: 14px;
color: #494949;
}
/* Helpers */
.jFiler ul.list-inline li {
display: inline-block;
padding-right: 5px;
padding-left: 5px;
}
.jFiler .pull-left {
float: left;
}
.jFiler .pull-right {
float: right;
}
/* File Icons */
span.jFiler-icon-file {
position: relative;
display: block;
background: #e1e1e1 url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMQAAAEACAYAAADsqNl9AAAD5klEQVR42u3azUqUURjA8bHAEpIK+9hlRBGC0QfVustI+oAo2nQJgYGFFEUhJF1NUVAXEC6iSyhIDCoX5js9Z5xpXmxsRjOdmfP7wfPqwtWZ589xhqlUN2Y5Zi5mJmYi5lzMgZhdFbpavEb32sxsURSfq5mqrPPv52MexYxZrb4NIusoOgoiDudb/JiMGbZSWQSRbRSdBPEqZtQqZRdEllFU2rxPuB8zYI2yDSK7KNYKYinmlvURRG5RVNa4GW5aHUHkGEWrIKasjSByjWJ1EC+tjCByjqKy6qPVI1ZGEDlHUb4h7loXQeQeRSOILzF7rIsgco+iEcS0VRGEKFaCSB+znrQqghDFShDvrYkgRNEM4pk1EYQomkFctiaCEEUziDPWRBCiaAYxYk0EIYpmEIPWRBCiqAeBIEQhCEGIQhBsWxA9E4UNEYQoBCEIUQiC7giiq6OwIYIQhSAEIQpB0H1BdF0UNkQQohCEIEQhCLo7iFoUMZ8EgSC6JAobIghRCEIQohAEvRXEtkRhQwQhCkEIQhSCoHeD2LIobIggRCEIQYhCEPRHEP81ChsiCFEIQhCiEAT9F8SmR2FDBCEKQQhCFIKgv4PYlChsiCD6bZ7/SxQ2RBCiEIQgRCEI8gpiQ1HYEEGIQhCCEIUgyDeIjqOwIYIQhSAEIQpBsBLEKVGsHYUNcUuIQhCCMK2jsB2CEEUpCtshClOKwmYIwpSisBn5BjEqgj+jsBluCVMaWyEKIQiCUhCXhCAI3BKC4K9RXBeEIHBbCALvKwTBRuO4IQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAyEi1Wh10ClBrYXd6jDgKqAVxMD3OOgqoBXE+PSYcBdSCuJIeM44CakHMpseco4BKpSiKDymI5Zgxx0Hmt8N4TDX9kjx0JGQexONyEPMxw46FTGPYF7NQDiKZdDRkGsSDRgTlIL7HHHU8ZBbD8ZjFVkEkr2MGHBOZxLAj5m05gNVBJNOOipzeSLcLIn0Me9tx0ecx3KnvetsgkiVR0Ocx/Gy1+GsF0bgppr2noI9C2BnzpNXN0EkQDW9ijjlOejyGEzHv2i17J0EkP2KmYvY6WnoshP31/3QWO1n0ToNoWKhfOeOOmi4P4XTM06Iovq5nwdcbxG/pm4Hp67IxV2MuxByKGfJSsMWLPxRzOOZizLWYF7GbHze6178AQI59RSRyAJkAAAAASUVORK5CYII=') no-repeat;
background-size: cover;
width: 57px;
height: 74px;
line-height: 90px;
text-align: center;
margin: 0 auto;
color: #fff;
font-size: 14px;
font-weight: bold;
overflow: hidden;
}
span.jFiler-icon-file i[class*="icon-jfi-"] {
font-size: 24px;
}
span.jFiler-icon-file.f-image {
background-color: #e15955;
}
span.jFiler-icon-file.f-video {
background-color: #4183d7;
}
span.jFiler-icon-file.f-audio {
background-color: #5bab6e;
}
/* Progress Bar */
.jFiler-jProgressBar {
height: 8px;
background: #f1f1f1;
margin-top: 3px;
margin-bottom: 0;
overflow: hidden;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
}
.jFiler-jProgressBar .bar {
float: left;
width: 0;
height: 100%;
font-size: 12px;
color: #ffffff;
text-align: center;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
background-color: #50A1E9;
box-sizing: border-box;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
-webkit-transition: width 0.3s ease;
-moz-transition: width 0.3s ease;
-o-transition: width 0.3s ease;
transition: width 0.3s ease;
}
.jFiler-jProgressBar .bar.dark {
background-color: #555;
}
.jFiler-jProgressBar .bar.blue {
background-color: #428bca;
}
.jFiler-jProgressBar .bar.green {
background-color: #5cb85c;
}
.jFiler-jProgressBar .bar.orange {
background-color: #f7a923;
}
.jFiler-jProgressBar .bar.red {
background-color: #d9534f;
}
/* Thumbs */
.jFiler-row:after,
.jFiler-item:after {
display: table;
line-height: 0;
content: "";
clear: both;
}
.jFiler-items ul {
margin: 0;
padding: 0;
list-style: none;
}
/*-------------------------
Default Theme
-------------------------*/
.jFiler-theme-default .jFiler-input {
position: relative;
display: block;
width: 400px;
height: 35px;
margin: 0 0 15px 0;
background: #fefefe;
border: 1px solid #cecece;
font-size: 12px;
font-family: sans-serif;
color: #888;
border-radius: 4px;
cursor: pointer;
overflow: hidden;
-webkit-box-shadow: rgba(0,0,0,.25) 0 4px 5px -5px inset;
-moz-box-shadow: rgba(0,0,0,.25) 0 4px 5px -5px inset;
box-shadow: rgba(0,0,0,.25) 0 4px 5px -5px inset;
}
.jFiler-theme-default .jFiler-input.focused {
outline: none;
-webkit-box-shadow: 0 0 7px rgba(0,0,0,0.1);
-moz-box-shadow: 0 0 7px rgba(0,0,0,0.1);
box-shadow: 0 0 7px rgba(0,0,0,0.1);
}
.jFiler-theme-default .jFiler-input.dragged {
border: 1px dashed #aaaaaa;
background: #f9f9f9;
}
.jFiler-theme-default .jFiler-inpu.draggedt:hover {
background: #FFF8D0;
}
.jFiler-theme-default .jFiler-input.dragged * {
pointer-events: none;
}
.jFiler-theme-default .jFiler-input.dragged .jFiler-input-caption {
width: 100%;
text-align: center;
}
.jFiler-theme-default .jFiler-input.dragged .jFiler-input-button {
display: none;
}
.jFiler-theme-default .jFiler-input-caption {
display: block;
float: left;
height: 100%;
padding-top: 8px;
padding-left: 10px;
text-overflow: ellipsis;
overflow: hidden;
}
.jFiler-theme-default .jFiler-input-button {
display: block;
float: right;
height: 100%;
padding-top: 8px;
padding-left: 15px;
padding-right: 15px;
border-left: 1px solid #ccc;
color: #666666;
text-align: center;
background-color: #fefefe;
background-image: -webkit-gradient(linear,0 0,0 100%,from(#fefefe),to(#f1f1f1));
background-image: -webkit-linear-gradient(top,#fefefe,#f1f1f1);
background-image: -o-linear-gradient(top,#fefefe,#f1f1f1);
background-image: linear-gradient(to bottom,#fefefe,#f1f1f1);
background-image: -moz-linear-gradient(top,#fefefe,#f1f1f1);
-webkit-transition: all .1s ease-out;
-moz-transition: all .1s ease-out;
-o-transition: all .1s ease-out;
transition: all .1s ease-out;
}
.jFiler-theme-default .jFiler-input-button:hover {
-moz-box-shadow: inset 0 0 10px rgba(0,0,0,0.07);
-webkit-box-shadow: inset 0 0 10px rgba(0,0,0,0.07);
box-shadow: inset 0 0 10px rgba(0,0,0,0.07);
}
.jFiler-theme-default .jFiler-input-button:active {
background-image: -webkit-gradient(linear,0 0,0 100%,from(#f1f1f1),to(#fefefe));
background-image: -webkit-linear-gradient(top,#f1f1f1,#fefefe);
background-image: -o-linear-gradient(top,#f1f1f1,#fefefe);
background-image: linear-gradient(to bottom,#f1f1f1,#fefefe);
background-image: -moz-linear-gradient(top,#f1f1f1,#fefefe);
}
/*-------------------------
Thumbnails
-------------------------*/
.jFiler-items-default .jFiler-items {
}
.jFiler-items-default .jFiler-item {
position: relative;
padding: 16px;
margin-bottom: 16px;
background: #f7f7f7;
color: #4d4d4c;
}
.jFiler-items-default .jFiler-item .jFiler-item-icon {
font-size: 32px;
color: #48A0DC;
margin-right: 15px;
margin-top: -3px;
}
.jFiler-items-default .jFiler-item .jFiler-item-title {
font-weight: bold;
}
.jFiler-items-default .jFiler-item .jFiler-item-others {
font-size: 12px;
color: #777;
margin-left: -5px;
margin-right: -5px;
}
.jFiler-items-default .jFiler-item .jFiler-item-others span {
padding-left: 5px;
padding-right: 5px;
}
.jFiler-items-default .jFiler-item-assets {
position: absolute;
display: block;
right: 16px;
top: 50%;
margin-top: -10px;
}
.jFiler-items-default .jFiler-item-assets a {
padding: 8px 9px 8px 12px;
cursor: pointer;
background: #fafafa;
color: #777;
border-radius: 4px;
border: 1px solid #e3e3e3
}
.jFiler-items-default .jFiler-item-assets .jFiler-item-trash-action:hover,
.jFiler-items-default .jFiler-item-assets .jFiler-item-trash-action:active {
color: #d9534f;
}
.jFiler-items-default .jFiler-item-assets .jFiler-item-trash-action:active {
background: transparent;
}
/* Thumbnails: Grid */
.jFiler-items-grid .jFiler-item {
float: left;
}
.jFiler-items-grid .jFiler-item .jFiler-item-container {
position: relative;
margin: 0 20px 30px 0;
padding: 10px;
border: 1px solid #e1e1e1;
border-radius: 3px;
background: #fff;
-webkit-box-shadow: 0px 0px 3px rgba(0,0,0,0.06);
-moz-box-shadow: 0px 0px 3px rgba(0,0,0,0.06);
box-shadow: 0px 0px 3px rgba(0,0,0,0.06);
}
.jFiler-items-grid .jFiler-item .jFiler-item-container .jFiler-item-thumb {
position: relative;
width: 190px;
height: 145px;
min-height: 115px;
border: 1px solid #e1e1e1;
overflow: hidden;
}
.jFiler-items-grid .jFiler-item .jFiler-item-container .jFiler-item-thumb .jFiler-item-thumb-image {
width: 100%;
height: 100%;
text-align: center;
}
.jFiler-item .jFiler-item-container .jFiler-item-thumb img {
max-width: none;
max-height: 100%;
}
.jFiler-items-grid .jFiler-item .jFiler-item-container .jFiler-item-thumb span.jFiler-icon-file {
margin-top: 32px;
}
.jFiler-items-grid .jFiler-item-thumb-image.fi-loading {
background: url('data:image/gif;base64,R0lGODlhIwAjAMQAAP////f39+/v7+bm5t7e3tbW1s7OzsXFxb29vbW1ta2traWlpZycnJSUlIyMjISEhHt7e3Nzc2tra2NjY1paWlJSUkpKSkJCQjo6OjExMSkpKRkZGRAQEAAAAP///wAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQFBAAeACwAAAAAIwAjAAAF5CAgjmRpnmiqrmzrvnAsz3Rto4Fwm4EYLIweQHcTKAiAQOPRI0QKRcYiEGA4qI8K9HZoGAIOSOBgCdIGBeLCMUgoBJSJjsBAxAiKRSFAQBCVBwMKGRsNQi8DBwsJhyQVGxMKjTCJk0kPjDI5AlQqBAcICFstBQqmmScFGh0dHBaWKAIEBQQDKQEKDxEQCTMBA5Y/o5oDoZYCHB1PMgIHCQacwCPACRStDTEDBrYABQg5wAgGIg4YYjQCogEGB3wI3J2+oD0G42PfN2Pc7D2JRDb/+In4t8MHwYIIEypcyLChQ4YhAAAh+QQFBAAeACwIAAgAEwATAAAFlqAnjiKSjAFJBscgLos4NIQ6JggAKLHXSDWbp6CoLRgeg0ShGwkIKQ9iITggPJFHaqA4eAYIRK0a9SwK0spl0TQkvEIJJnIlCdDCRk4lEJIGBgcHRn4jBBkciROFKgkNDg51jCJBJJU2ARocD4xNAQsGCBMcGz2FAxwZKQwVDYVwEhwOI02MAxsceJMeOgwaJ7skCX0jIQAh+QQFBAAeACwAAAAAAQABAAAFA6AXAgAh+QQFBAAeACwAAAAAAQABAAAFA6AXAgAh+QQFBAAeACwJAAcAEgAVAAAFjqAnjmJAnihgHChqCACAJKMyoMHBeggSJ40baoC4zTwFB6IlOiwLhkCDMUIYUAUSgiA4RCZLAXPkoDQOsfFosVNjDYaBQiRmWjaaDMTdXDAYbWMJQnwiGBoOBEwmIwVeGhhzKAJ+BBsXIgoSVCcEAxkbAw8enEwAARkaYqluAqliChlLY64aQrNjAT2MKCEAIfkEBQQAHgAsBwAIABQAFAAABZqgJ45jUQBkqorGgQqIsKqteCjyTLbAsBg6UoBA8CgSIoGhGGQNAoXG4zAaNBcPxalJQhS4KwGhUCQgRYHZQGKxVBpgD8CQUCiAYEQTpZpcGFYrBgw5HgkEBg4XFHoqFx10CwMZFCIIDwl8IwscFAQXGR4NGQo6BBocRRUYHgIWGEwqBxoPHgEWoYYXVCsBCTIBqzkHaVwHvCshACH5BAUEAB4ALAAAAAABAAEAAAUDoBcCACH5BAUEAB4ALAcACAAVABQAAAWaoCeOpDECZKqKgRcY7bqanoHI6+EKSIHjCJ2oMPidCgIPQbHwGUkIBoLwJAEM1OpqQBgkC0yjwBGRRBQokfdXOASzo0MjqTrQUwQIpwM/QSYJKQoaHRUKHgtQSgwTEUIeDRcPSRQcHgiBFREiB1IkdAkaEgMUGAILFoE4AxkaRRIVLRIURTIGGQ0iExWcEzQyBzGwI05PV78rIQAh+QQFBAAeACwAAAAAAQABAAAFA6AXAgAh+QQFBAAeACwHAAgAFAAUAAAFlaAnjmRBnmgqCip6kEGbDnJqvmJAsLVIDwgEoTc6JAy0k05VSIoKiSgipgoIaIFKZ8tBVBeNBgORkEwkDt6sYECSBosUwJRybDiqxuOgTmTwCAUKIwAHAwMJDw10CxUNMRIaBQcIAmhPCgYjVAcZDx4REx5lOCoWGCIPER4Bqi0FFwwiEBIxBg9DKpqpEVS5PQUFACohACH5BAUEAB4ALAAAAAABAAEAAAUDoBcCACH5BAUEAB4ALAcACAAUABQAAAWRoCeOpEGeaCoGKmqOQlvKXgId4usR6DA+HA6kQDsxMB0Nr0hSTHxFAgJxIABogpiEI9rgVAiF2ICARCANVovAjsESKoKaNGBkMqrEojA/WDYSHgMIJAVZBwsKSwoSCyIOFx4FJg4LVwQHRCgVDQIOEAEHDi9XJwISFAIADA4iDJ1xEwoiDa2SDFA0rCO5NGwtIQAh+QQFBAAeACwAAAAAAQABAAAFA6AXAgAh+QQFBAAeACwHAAgAEwAUAAAFj6AnisNonqeBLWg7GpwmtAENcc8s6ifyGKJMp1DyIFqNjecxUEiKLpGi4slATcBW4hkdDQ6HbHd048TELtah8XCwxqjAsXXdKSyWuuiAILwmGBBABzUiBDUFCQglCBAJIgsTBAQFAQpzAwZ1BREsCwweBQt+Lg8QNQpvCAqFJwMQc6mGjy6kHrI7cB4DeiIhACH5BAUEAB4ALAAAAAABAAEAAAUDoBcCACH5BAUEAB4ALAcABwASABUAAAWXoCeOI0GQaBpUl5CSRZV4QrYN71hoWBBkGpdISAI4No2BhoNLHRijy8YQmQwOpJMC2BAgIh5fgJZKSDYWYg4FWZMMhkLT7XHYeAW6wrBgLGZ0KQZjgR4IEhFqJIAeBQ8UDQUCeSNzIwcNCCIJDwMDJwgGawSZAQgzBAiWIwELDSIHmh6xOQyiAKciV4oeAHO0IwB0ArweIQAh+QQFBAAeACwAAAAAAQABAAAFA6AXAgAh+QQFBAAeACwHAAcAEAAVAAAFjKAnjuMwkKgnjFJVosSEeMGVrcc1j8TlehVMIIDh7EaMzMKDuTE4k4DHsCiIKJnCI0LYcE6ehMWyPDxGgshyZL5MUqID6uCAowsEwsouWlTGFAR8HgUJCglHgyNWigF0dXYzBAwPCoJgcAUKBnELAgKYcAObHgdyfIYiBQcAdgIJjAanrq0AsoojQyghACH5BAUEAB4ALAAAAAABAAEAAAUDoBcCACH5BAUEAB4ALAcACAAUABQAAAWYoCeKwQhF5aiqA3SIlDVW7yoOlCRKlVhtNZtHYUkIKBfPYoNaFRADUUTWeAwyGYHHAFmIDhIJImBorBIFB6cDSZUnEGEA08k0UiPDQrsSTB58HgEDhEIqAHgIERESVoY2BAcIBwaPlh5Rl04KCnhnKwMJDFCelgMIBAAeT3hBNqoeAggFIgiaX7ZblZoBB5lbqoG3wzbCKyEAIfkEBQQAHgAsBwAHABUAEwAABZygJ46jIJBoSjZPqa6GGEmBZ0zx60Gt90QiSSb3QkgOHskkkMj0UAOkyCEhLBiey2X0SIwMLKRVAPAEHggCY8N5egiKB6OGAmwtC1UhQScFIgt9JAKCKQUICQkxBw2NCycqBhsdlBgBAwUGBgRlKgMPExMSgSSdKmQvBAgIOqwoAgeKkDopBgMiMbOutCgGSLe8IlIeSKbBI1LAKCEAIfkEBQQAHgAsAAAAAAEAAQAABQOgFwIAIfkEBQQAHgAsAAAAAAEAAQAABQOgFwIAIfkECQQAHgAsAAAAACMAIwAABbWgJ45kaZ5oqq5s675wLM90baPBvS6MTgoKgqjxEBEihZuAsRAxHKJHJXk7NAwBB8RzsPRqBYFo4RgkFALKxMhAxAiKBdXtAXgah4Eis2nIBgcLCSgVGxMKNYAoD4MzAgI5KgQHCAhULQUKmgmRJgUaIhwWLwIEBQQDKQEKDxEQCXYxnSUBcjapKAIcHUg+JgkUHRx+YB6zIw4YEMc2QiMBzDB0HgbGvifR19rb3N3e3+Dh4ikhADs=') no-repeat center;
width: 100%;
height: 100%;
}
.jFiler-items-grid .jFiler-item .jFiler-item-container .jFiler-item-thumb-overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
color: #fff;
background: rgba(76, 76, 77, 0.8);
opacity: 0;
filter: alpha(opacity=0);
z-index: 10;
overflow-y: auto;
-webkit-transition: all 0.12s;
-moz-transition: all 0.12s;
transition: all 0.12s;
}
.jFiler-items-grid .jFiler-item .jFiler-item-container .jFiler-item-thumb:hover .jFiler-item-thumb-overlay {
opacity: 1;
filter: aplpha(opacity(100));
}
.jFiler-items-grid .jFiler-item .jFiler-item-container .jFiler-item-info {
display: table;
padding: 0 10px;
overflow: auto;
width: 100%;
height: 100%;
text-align: center;
}
.jFiler-items-grid .jFiler-item .jFiler-item-container .jFiler-item-info .jFiler-item-title {
display: block;
font-weight: bold;
word-break: break-all;
line-height: 1;
}
.jFiler-items-grid .jFiler-item .jFiler-item-container .jFiler-item-info .jFiler-item-others {
display: inline-block;
font-size: 10px;
}
.jFiler-items-grid .jFiler-item .jFiler-item-container .jFiler-item-assets {
margin-top: 10px;
color: #999;
}
.jFiler-items-grid .jFiler-item .jFiler-item-container .jFiler-item-assets .text-success {
color: #3C763D
}
.jFiler-items-grid .jFiler-items-grid .jFiler-item .jFiler-item-container .jFiler-item-assets .text-error {
color: #A94442
}
.jFiler-items-grid .jFiler-item .jFiler-item-container .jFiler-item-assets .jFiler-jProgressBar {
width: 120px;
margin-left: -5px;
}
.jFiler-items-grid .jFiler-item .jFiler-item-container .jFiler-item-assets .jFiler-item-others {
font-size: 12px;
}
.jFiler-items-grid .jFiler-item-trash-action:hover {
cursor: pointer;
color: #d9534f;
}

191
src/main/resources/static/files/assets/pages/jquery.filer/css/themes/jquery.filer-dragdropbox-theme.css

@ -0,0 +1,191 @@
/*!
* CSS jQuery.filer
* Theme: DragDropBox
* Copyright (c) 2016 CreativeDream
* Version: 1.3 (14-Sep-2016)
*/
/*-------------------------
Input
-------------------------*/
.jFiler-input-dragDrop {
display: block;
width: 343px;
margin: 0 auto 25px auto;
padding: 25px;
color: #97A1A8;
background: #F9FBFE;
border: 2px dashed #C8CBCE;
text-align: center;
-webkit-transition: box-shadow 0.3s,
border-color 0.3s;
-moz-transition: box-shadow 0.3s,
border-color 0.3s;
transition: box-shadow 0.3s,
border-color 0.3s;
}
.jFiler .jFiler-input-dragDrop.dragged {
border-color: #aaa;
box-shadow: inset 0 0 20px rgba(0,0,0,.08);
}
.jFiler .jFiler-input-dragDrop.dragged * {
pointer-events: none;
}
.jFiler .jFiler-input-dragDrop.dragged .jFiler-input-icon {
-webkit-transform: rotate(180deg);
-ms-transform: rotate(180deg);
transform: rotate(180deg);
}
.jFiler .jFiler-input-dragDrop.dragged .jFiler-input-text,
.jFiler .jFiler-input-dragDrop.dragged .jFiler-input-choose-btn {
filter: alpha(opacity=30);
opacity: 0.3;
}
.jFiler-input-dragDrop .jFiler-input-icon {
font-size: 48px;
margin-top: -10px;
-webkit-transition: all 0.3s ease;
-moz-transition: all 0.3s ease;
transition: all 0.3s ease;
}
.jFiler-input-text h3 {
margin: 0;
font-size: 18px;
}
.jFiler-input-text span {
font-size: 12px;
}
.jFiler-input-choose-btn {
display: inline-block;
padding: 8px 14px;
outline: none;
cursor: pointer;
text-decoration: none;
text-align: center;
white-space: nowrap;
font-size: 12px;
font-weight: bold;
color: #8d9496;
border-radius: 3px;
border: 1px solid #c6c6c6;
vertical-align: middle;
*background-color: #fff;
box-shadow: 0px 1px 5px rgba(0,0,0,0.05);
-webkit-transition: all 0.2s;
-moz-transition: all 0.2s;
transition: all 0.2s;
}
.jFiler-input-choose-btn:hover,
.jFiler-input-choose-btn:active {
color: inherit;
}
.jFiler-input-choose-btn:active {
background-color: #f5f5f5;
}
/* gray */
.jFiler-input-choose-btn.gray {
background-image: -webkit-gradient(linear,0 0,0 100%,from(#fcfcfc),to(#f5f5f5));
background-image: -webkit-linear-gradient(top,#fcfcfc,#f5f5f5);
background-image: -o-linear-gradient(top,#fcfcfc,#f5f5f5);
background-image: linear-gradient(to bottom,#fcfcfc,#f5f5f5);
background-image: -moz-linear-gradient(top,#fcfcfc,#f5f5f5);
}
.jFiler-input-choose-btn.gray:hover {
filter: alpha(opacity=87);
opacity: 0.87;
}
.jFiler-input-choose-btn.gray:active {
background-color: #f5f5f5;
background-image: -webkit-gradient(linear,0 0,0 100%,from(#f5f5f5),to(#fcfcfc));
background-image: -webkit-linear-gradient(top,#f5f5f5,#fcfcfc);
background-image: -o-linear-gradient(top,#f5f5f5,#fcfcfc);
background-image: linear-gradient(to bottom,#f5f5f5,#fcfcfc);
background-image: -moz-linear-gradient(top,#f5f5f5,#fcfcfc);
}
/* blue */
.jFiler-input-choose-btn.blue {
color: #48A0DC;
border: 1px solid #48A0DC;
}
.jFiler-input-choose-btn.blue:hover {
background: #48A0DC;
}
.jFiler-input-choose-btn.blue:active {
background: #48A0DC;
}
/* green */
.jFiler-input-choose-btn.green {
color: #27ae60;
border: 1px solid #27ae60;
}
.jFiler-input-choose-btn.green:hover {
background: #27ae60;
}
.jFiler-input-choose-btn.green:active {
background: #27ae60;
}
/* red */
.jFiler-input-choose-btn.red {
color: #ed5a5a;
border: 1px solid #ed5a5a;
}
.jFiler-input-choose-btn.red:hover {
background: #ed5a5a;
}
.jFiler-input-choose-btn.red:active {
background: #E05252;
}
/* black */
.jFiler-input-choose-btn.black {
color: #555;
border: 1px solid #555;
}
.jFiler-input-choose-btn.black:hover {
background: #555;
}
.jFiler-input-choose-btn.black:active {
background: #333;
}
.jFiler-input-choose-btn.blue:hover,
.jFiler-input-choose-btn.green:hover,
.jFiler-input-choose-btn.red:hover,
.jFiler-input-choose-btn.black:hover {
border-color: transparent;
color: #fff;
}
.jFiler-input-choose-btn.blue:active,
.jFiler-input-choose-btn.green:active,
.jFiler-input-choose-btn.red:active,
.jFiler-input-choose-btn.black:active {
border-color: transparent;
color: #fff;
filter: alpha(opacity=87);
opacity: 0.87;
}

BIN
src/main/resources/static/files/assets/pages/jquery.filer/fonts/jquery.filer-icons/jquery-filer-1.hxd

135
src/main/resources/static/files/assets/pages/jquery.filer/fonts/jquery.filer-icons/jquery-filer.css
File diff suppressed because it is too large
View File

BIN
src/main/resources/static/files/assets/pages/jquery.filer/fonts/jquery.filer-icons/jquery-filer.hxd

283
src/main/resources/static/files/assets/pages/jquery.filer/fonts/jquery.filer-icons/jquery-filer.svg

@ -0,0 +1,283 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<!--
2015-1-20: Created.
-->
<svg xmlns="http://www.w3.org/2000/svg">
<metadata>
Created by FontForge 20120731 at Tue Jan 20 14:13:11 2015
By Iulian Galciuc,,,
Created by Iulian Galciuc,,, with FontForge 2.0 (http://fontforge.sf.net)
</metadata>
<defs>
<font id="jquery-filer" horiz-adv-x="512" >
<font-face
font-family="jquery-filer"
font-weight="500"
font-stretch="normal"
units-per-em="512"
panose-1="2 0 6 9 0 0 0 0 0 0"
ascent="448"
descent="-64"
bbox="-0.361328 -64.8438 512.331 448.844"
underline-thickness="25.6"
underline-position="-51.2"
unicode-range="U+F2F6-F344"
/>
<missing-glyph />
<glyph glyph-name="uniF32B" unicode="&#xf32b;"
d="M480 192c0 -29 -10 -55.7917 -30 -80.375c-20 -24.5833 -47.1667 -44 -81.5 -58.25s-71.8333 -21.375 -112.5 -21.375c-11.6667 0 -23.75 0.666668 -36.25 2c-33 -29.1667 -71.3333 -49.3333 -115 -60.5c-8.16666 -2.33333 -17.6667 -4.16667 -28.5 -5.5
c-2.83334 -0.333454 -5.375 0.416546 -7.625 2.25c-2.25 1.83333 -3.70834 4.25 -4.375 7.25v0.25c-0.5 0.666666 -0.541668 1.66667 -0.125 3c0.416664 1.3333 0.583336 2.16663 0.5 2.5c-0.0833359 0.333303 0.291664 1.12497 1.125 2.375l1.5 2.25l1.75 2.125l2 2.25
c1.16666 1.33333 3.75 4.20833 7.75 8.625s6.875 7.58333 8.625 9.5s4.33334 5.20833 7.75 9.875s6.125 8.91667 8.125 12.75c2 3.83333 4.25 8.75 6.75 14.75s4.66666 12.3333 6.5 19c-26.1667 14.8334 -46.7917 33.1667 -61.875 55
c-15.0833 21.8333 -22.625 45.25 -22.625 70.25c0 21.6667 5.91667 42.375 17.75 62.125s27.75 36.7917 47.75 51.125c20.0001 14.3333 43.8334 25.7083 71.5 34.125c27.6667 8.41666 56.6667 12.625 87 12.625c40.6667 0 78.1667 -7.125 112.5 -21.375
s61.5 -33.6667 81.5 -58.25c20 -24.5833 30 -51.375 30 -80.375z" />
<glyph glyph-name="uniF30C" unicode="&#xf30c;"
d="M385 232.5c0 4.66667 -1.5 8.5 -4.5 11.5l-22.75 22.5c-3.16666 3.16666 -6.91666 4.75 -11.25 4.75s-8.08334 -1.58334 -11.25 -4.75l-102 -101.75l-56.5 56.5c-3.16667 3.16667 -6.91667 4.75 -11.25 4.75s-8.08333 -1.58333 -11.25 -4.75l-22.75 -22.5
c-3 -3 -4.5 -6.83333 -4.5 -11.5c0 -4.5 1.5 -8.25 4.5 -11.25l90.5 -90.5c3.16667 -3.16666 6.91667 -4.75 11.25 -4.75c4.5 0 8.33333 1.58334 11.5 4.75l135.75 135.75c3 3 4.5 6.75 4.5 11.25zM448 192c0 -34.8333 -8.58334 -66.9583 -25.75 -96.375
c-17.1674 -29.4167 -40.4591 -52.7083 -69.875 -69.875c-29.4167 -17.1667 -61.5417 -25.75 -96.375 -25.75c-34.8333 0 -66.9583 8.58333 -96.375 25.75c-29.4167 17.1667 -52.7083 40.4583 -69.875 69.875c-17.1667 29.4167 -25.75 61.5417 -25.75 96.375
c0 34.8333 8.58334 66.9583 25.75 96.375s40.4583 52.7083 69.875 69.875s61.5417 25.75 96.375 25.75c34.8333 0 66.9583 -8.58334 96.375 -25.75c29.4167 -17.1673 52.7083 -40.459 69.875 -69.875c17.1667 -29.4168 25.75 -61.5418 25.75 -96.375z" />
<glyph glyph-name="uniF33F" unicode="&#xf33f;"
d="M288 72v48c0 2.33334 -0.75 4.25 -2.25 5.75s-3.41666 2.25 -5.75 2.25h-48c-2.33333 0 -4.25 -0.75 -5.75 -2.25s-2.25 -3.41666 -2.25 -5.75v-48c0 -2.33334 0.75 -4.25 2.25 -5.75s3.41667 -2.25 5.75 -2.25h48c2.33334 0 4.25 0.75 5.75 2.25s2.25 3.41666 2.25 5.75
zM352 240c0 14.6667 -4.625 28.25 -13.875 40.75s-20.7917 22.1667 -34.625 29s-28 10.25 -42.5 10.25c-40.5 0 -71.4167 -17.75 -92.75 -53.25c-2.5 -4 -1.83333 -7.5 2 -10.5l33 -25c1.16667 -1 2.75 -1.5 4.75 -1.5c2.66667 0 4.75 1 6.25 3
c8.83333 11.3333 16 19 21.5 23c5.66713 4 12.8338 6 21.5 6c8 0 15.125 -2.16666 21.375 -6.5c6.25 -4.33333 9.375 -9.25 9.375 -14.75c0 -6.33356 -1.66666 -11.4169 -5 -15.25c-3.33334 -3.83333 -9 -7.58333 -17 -11.25
c-10.5 -4.66667 -20.125 -11.875 -28.875 -21.625s-13.125 -20.2083 -13.125 -31.375v-9c0 -2.33333 0.75 -4.25 2.25 -5.75s3.41667 -2.25 5.75 -2.25h48c2.33334 0 4.25 0.75 5.75 2.25s2.25 3.41667 2.25 5.75c0 3.16667 1.79166 7.29167 5.375 12.375
s8.125 9.20833 13.625 12.375c5.33572 3 9.41907 5.375 12.25 7.125c2.83456 1.75 6.66791 4.66667 11.5 8.75c4.83591 4.08333 8.54425 8.08333 11.125 12c2.58859 3.91747 4.92194 8.95914 7 15.125c2.08334 6.16667 3.125 12.9167 3.125 20.25zM448 192
c0 -34.8333 -8.58334 -66.9583 -25.75 -96.375c-17.1674 -29.4167 -40.4591 -52.7083 -69.875 -69.875c-29.4167 -17.1667 -61.5417 -25.75 -96.375 -25.75c-34.8333 0 -66.9583 8.58333 -96.375 25.75c-29.4167 17.1667 -52.7083 40.4583 -69.875 69.875
c-17.1667 29.4167 -25.75 61.5417 -25.75 96.375c0 34.8333 8.58334 66.9583 25.75 96.375s40.4583 52.7083 69.875 69.875s61.5417 25.75 96.375 25.75c34.8333 0 66.9583 -8.58334 96.375 -25.75c29.4167 -17.1673 52.7083 -40.459 69.875 -69.875
c17.1667 -29.4168 25.75 -61.5418 25.75 -96.375z" />
<glyph glyph-name="uniF2F8" unicode="&#xf2f8;"
d="M340.8 365v0c59.1006 0 107.2 -48.2998 107.2 -107.7c0 -29.5996 -11.7998 -57.2002 -32.7998 -77.5l-148.3 -149.8l-10.9004 -11l-10.9004 11l-151.199 152.7c-19.3008 20.2002 -29.9004 46.7002 -29.9004 74.5996c0 59.4004 48.0996 107.7 107.2 107.7
c33.7998 0 64.7998 -15.7998 84.7998 -41.7998c20 26 51 41.7998 84.7998 41.7998z" />
<glyph glyph-name="uniF30D" unicode="&#xf30d;"
d="M256 320c-34 0 -65.7917 -5.79166 -95.375 -17.375c-29.5834 -11.5833 -53.0834 -27.2083 -70.5 -46.875c-17.4167 -19.6667 -26.125 -40.9167 -26.125 -63.75c0 -18.6667 5.95834 -36.4583 17.875 -53.375c11.9167 -16.9167 28.7083 -31.5417 50.375 -43.875
l21.75 -12.5l-6.75 -24c-4 -15.1667 -9.83333 -29.5 -17.5 -43c25.3333 10.5 48.25 24.75 68.75 42.75l10.75 9.5l14.25 -1.5c11.5 -1.33334 22.3333 -2 32.5 -2c34 -3.8147e-06 65.7917 5.79166 95.375 17.375s53.0833 27.2083 70.5 46.875
c17.4167 19.6667 26.125 40.9167 26.125 63.75s-8.70834 44.0833 -26.125 63.75c-17.4167 19.6667 -40.9167 35.2917 -70.5 46.875s-61.375 17.375 -95.375 17.375zM480 192c0 -29 -10 -55.7917 -30 -80.375c-20 -24.5833 -47.1667 -44 -81.5 -58.25
s-71.8333 -21.375 -112.5 -21.375c-11.6667 0 -23.75 0.666668 -36.25 2c-33 -29.1667 -71.3333 -49.3333 -115 -60.5c-8.16666 -2.33333 -17.6667 -4.16667 -28.5 -5.5h-1.25c-2.5 0 -4.75 0.875 -6.75 2.625s-3.33334 4.04167 -4 6.875v0.25
c-0.5 0.666666 -0.541668 1.66667 -0.125 3c0.416664 1.3333 0.583336 2.16663 0.5 2.5c-0.0833359 0.333303 0.291664 1.12497 1.125 2.375l1.5 2.25l1.75 2.125l2 2.25c1.16666 1.33333 3.75 4.20833 7.75 8.625s6.875 7.58333 8.625 9.5s4.33334 5.20833 7.75 9.875
s6.125 8.91667 8.125 12.75c2 3.83333 4.25 8.75 6.75 14.75s4.66666 12.3333 6.5 19c-26.1667 14.8334 -46.7917 33.1667 -61.875 55c-15.0833 21.8333 -22.625 45.25 -22.625 70.25c0 29 10 55.7917 30 80.375c20 24.5833 47.1667 44 81.5 58.25
s71.8333 21.375 112.5 21.375c40.6667 0 78.1667 -7.125 112.5 -21.375s61.5 -33.6667 81.5 -58.25c20 -24.5833 30 -51.375 30 -80.375z" />
<glyph glyph-name="uniF330" unicode="&#xf330;"
d="M384 184v-80c0 -19.8333 -7.04166 -36.7917 -21.125 -50.875s-31.0417 -21.125 -50.875 -21.125h-208c-19.8333 0 -36.7917 7.04167 -50.875 21.125c-14.0833 14.0834 -21.125 31.0417 -21.125 50.875v208c0 19.834 7.04167 36.7923 21.125 50.875
c14.0834 14.0833 31.0417 21.125 50.875 21.125h176c2.33334 0 4.25 -0.75 5.75 -2.25s2.25 -3.41666 2.25 -5.75v-16c0 -2.33334 -0.75 -4.25 -2.25 -5.75s-3.41666 -2.25 -5.75 -2.25h-176c-11 0 -20.4167 -3.91666 -28.25 -11.75s-11.75 -17.25 -11.75 -28.25v-208
c-3.8147e-06 -11 3.91666 -20.4167 11.75 -28.25s17.25 -11.75 28.25 -11.75h208c11 -3.8147e-06 20.4167 3.91666 28.25 11.75s11.75 17.25 11.75 28.25v80c0 2.33333 0.75 4.25 2.25 5.75s3.41666 2.25 5.75 2.25h16c2.33334 0 4.25 -0.75 5.75 -2.25
s2.25 -3.41667 2.25 -5.75zM480 400v-128c0 -4.33334 -1.58334 -8.08334 -4.75 -11.25c-3.16666 -3.16669 -6.91666 -4.75002 -11.25 -4.75c-4.33334 0 -8.08334 1.58334 -11.25 4.75l-44 44l-163 -163c-1.66667 -1.66667 -3.58333 -2.5 -5.75 -2.5
s-4.08333 0.833328 -5.75 2.5l-28.5 28.5c-1.66667 1.66798 -2.5 3.58466 -2.5 5.75c0 2.16803 0.833328 4.0847 2.5 5.75l163 163l-44 44c-3.16666 3.16666 -4.75 6.91666 -4.75 11.25s1.58334 8.08334 4.75 11.25s6.91666 4.75 11.25 4.75h128
c4.33334 0 8.08334 -1.58334 11.25 -4.75s4.75 -6.91666 4.75 -11.25z" />
<glyph glyph-name="uniF342" unicode="&#xf342;"
d="M0 237.177v210.823h210.823v-210.823h-210.823zM30.1172 417.883v-150.589h150.589v150.589h-150.589zM301.177 448h210.823v-210.823h-210.823v210.823zM481.883 267.294v150.589h-150.589v-150.589h150.589zM0 -64v210.823h210.823v-210.823h-210.823zM30.1172 116.706
v-150.589h150.589v150.589h-150.589zM301.177 -64v210.823h210.823v-210.823h-210.823zM331.294 116.706v-150.589h150.589v150.589h-150.589z" />
<glyph glyph-name="uniF31F" unicode="&#xf31f;"
d="M291.147 448l160.617 -159.864v-352.136h-391.529v512h230.912zM301.177 395.535v-98.123h98.5752zM90.3525 -33.8828h331.295v301.177h-150.589v150.589h-180.706v-451.766zM273.581 291.056v108.06h58.3184v-108.06h-58.3184zM289.876 286.768v46.3115h112.349
v-46.3115h-112.349zM320.75 317.642v51.457h44.5967v-51.457h-44.5967z" />
<glyph glyph-name="uniF30B" unicode="&#xf30b;"
d="M421.647 387.765h90.3525v-451.765h-512v451.765h90.3525v30.1182h90.3535v-30.1182h150.588v30.1182h90.3535v-30.1182zM361.412 387.765v-60.2354h30.1172v60.2354h-30.1172zM120.471 387.765v-60.2354h30.1172v60.2354h-30.1172zM481.883 -33.8828v268.68h-451.766
v-268.68h451.766zM30.1172 264.915h451.766v92.7324h-60.2354v-60.2354h-90.3535v60.2354h-150.588v-60.2354h-90.3535v60.2354h-60.2354v-92.7324z" />
<glyph glyph-name="uniF307" unicode="&#xf307;"
d="M512 -48.5801l0.331055 -15.4199h-512.692l0.361328 15.4199c1.89746 81.8604 84.9014 151.673 199.288 169.412v38.6406c-16.6846 14.9082 -28.1895 38.8818 -35.5088 59.1816c-8.94434 4.90918 -16.9863 14.3662 -22.5576 26.8652
c-9.78809 22.0459 -7.40918 43.2783 5.39062 52.3135c-0.511719 6.62598 -0.782227 13.0713 -0.782227 19.2451l-0.0908203 11.1143c-0.391602 34.2734 -0.842773 76.9199 50.7178 81.5283c0 0.150391 1.3252 2.68066 2.31934 4.54785
c7.95117 15.5107 19.8174 32.165 59.3623 33.5811l7.95117 0.150391c56.9521 0 95.6533 -21.1123 108.965 -59.4521c3.70508 -10.6621 0 -20.1191 -3.19238 -28.4609c-3.88477 -9.93945 -8.22168 -21.2334 -5.84277 -41.2012
c0.933594 -7.28809 0.391602 -14.6074 -0.451172 -21.7754c10.6006 -9.21582 13.3721 -28.3408 6.2041 -49.0615c-5.12012 -14.9688 -13.915 -26.1123 -23.9141 -31.1113c-6.89648 -18.8535 -17.4375 -40.96 -32.2559 -55.2061v-41.3818
c112.73 -18.3711 194.5 -88.0029 196.397 -168.93zM31.7441 -33.8828v-0.0292969h448.542c-11.7158 62.3135 -84.9014 114.176 -181.609 126.253l-13.1914 1.65625v82.1006l5.96289 4.51758c10.8125 8.16211 21.8652 27.5576 30.3887 53.248l3.43359 10.3008h10.8428
c-0.151367 0.481445 4.21582 4.96875 7.1377 13.6729c2.13867 6.11426 2.5 11.084 2.25879 14.2158l-13.2822 -1.44531l2.68066 24.2441c0.994141 7.55957 1.92773 14.668 1.20508 20.3301c-3.31348 27.5273 3.28223 44.5439 7.64941 55.8076
c1.14453 2.95117 2.71094 6.9873 2.71094 8.28223c-11.7461 33.5215 -55.417 38.6113 -80.3838 38.6113l-6.83691 -0.121094c-25.2988 -0.933594 -29.2139 -8.49316 -33.7324 -17.2871c-3.73438 -7.22852 -9.96875 -19.3057 -26.3828 -20.751
c-21.7451 -1.95801 -23.7324 -10.7822 -23.2803 -51.1699l0.0898438 -11.4453c0 -9.00488 0.663086 -18.6729 1.92773 -28.6113l2.89062 -22.5586l-15.3594 4.30762c0.241211 -3.10254 1.11426 -7.43945 3.37305 -12.499c3.6748 -8.28223 8.34277 -12.3184 9.93848 -12.8906
l8.85449 -1.53613l2.5 -8.46289c9.00586 -27.2266 20.9922 -47.5557 32.8281 -55.748l6.50586 -4.51758v-80.293l-13.2822 -1.56641c-98.2734 -11.5352 -172.574 -63.5488 -184.38 -126.615z" />
<glyph glyph-name="uniF2F6" unicode="&#xf2f6;"
d="M449.75 274.5c0 -6.6687 -2.33334 -12.3354 -7 -17l-181 -181l-34 -34c-4.66667 -4.66667 -10.3333 -7 -17 -7s-12.3333 2.33333 -17 7l-34 34l-90.5 90.5c-4.66679 4.66733 -7.00012 10.334 -7 17c0 6.6674 2.33334 12.3341 7 17l34 34c4.66666 4.66667 10.3333 7 17 7
s12.3333 -2.33333 17 -7l73.5 -73.75l164 164.25c4.66666 4.66666 10.3333 7 17 7s12.3333 -2.33334 17 -7l34 -34c4.66666 -4.66776 7 -10.3344 7 -17z" />
<glyph glyph-name="uniF32D" unicode="&#xf32d;"
d="M304 104v-56c0 -4.33333 -1.58334 -8.08333 -4.75 -11.25s-6.91666 -4.75 -11.25 -4.75h-64c-4.33333 -1.90735e-06 -8.08333 1.58333 -11.25 4.75s-4.75 6.91667 -4.75 11.25v56c0 4.33334 1.58333 8.08334 4.75 11.25s6.91667 4.75 11.25 4.75h64
c4.33334 0 8.08334 -1.58334 11.25 -4.75s4.75 -6.91666 4.75 -11.25zM311.5 368l-7 -192c-0.166656 -4.33333 -1.875 -8.08333 -5.125 -11.25s-7.04166 -4.75 -11.375 -4.75h-64c-4.33333 0 -8.125 1.58333 -11.375 4.75s-4.95833 6.91667 -5.125 11.25l-7 192
c-0.166672 4.33334 1.29167 8.08334 4.375 11.25s6.79167 4.75 11.125 4.75h80c4.33563 0 8.04398 -1.58334 11.125 -4.75c3.08807 -3.16666 4.54642 -6.91666 4.375 -11.25z" />
<glyph glyph-name="uniF33D" unicode="&#xf33d;"
d="M481.883 161.883c0 -124.567 -101.316 -225.883 -225.883 -225.883s-225.883 101.315 -225.883 225.883c0 105.352 74.5713 198.144 177.333 220.642l6.44531 -29.4248c-89.0273 -19.4863 -153.66 -99.9004 -153.66 -191.217
c0 -107.942 87.8232 -195.766 195.765 -195.766s195.765 87.8232 195.765 195.766c0 91.1953 -64.542 171.61 -153.479 191.187l6.47559 29.4248c102.641 -22.6182 177.122 -115.381 177.122 -220.611zM271.059 448v-301.177h-30.1172v301.177h30.1172z" />
<glyph glyph-name="uniF2F7" unicode="&#xf2f7;"
d="M448 176c-25.3333 39.3333 -57.0833 68.75 -95.25 88.25c10.1667 -17.3333 15.25 -36.0833 15.25 -56.25c0 -30.8333 -10.9583 -57.2083 -32.875 -79.125c-21.9167 -21.9167 -48.2917 -32.875 -79.125 -32.875c-30.8333 0 -57.2083 10.9583 -79.125 32.875
c-21.9167 21.9167 -32.875 48.2917 -32.875 79.125c0 20.1667 5.08333 38.9167 15.25 56.25c-38.1667 -19.5 -69.9167 -48.9167 -95.25 -88.25c22.1667 -34.1667 49.9583 -61.375 83.375 -81.625s69.625 -30.375 108.625 -30.375s75.2083 10.125 108.625 30.375
c33.4167 20.2501 61.2083 47.4584 83.375 81.625zM268 272c0 3.33755 -1.16666 6.1709 -3.5 8.5c-2.33334 2.33334 -5.16666 3.5 -8.5 3.5c-20.8333 0 -38.7083 -7.45834 -53.625 -22.375c-14.9167 -14.9167 -22.375 -32.7917 -22.375 -53.625
c0 -3.33488 1.16667 -6.16821 3.5 -8.5c2.33333 -2.33333 5.16667 -3.5 8.5 -3.5s6.16667 1.16667 8.5 3.5s3.5 5.16667 3.5 8.5c0 14.3333 5.08333 26.5833 15.25 36.75s22.4167 15.25 36.75 15.25c3.33731 0 6.17065 1.16666 8.5 3.5c2.33334 2.3374 3.5 5.17075 3.5 8.5z
M480 176c0 -5.66667 -1.66666 -11.4167 -5 -17.25c-23.3333 -38.3333 -54.7083 -69.0417 -94.125 -92.125s-81.0417 -34.625 -124.875 -34.625c-43.8333 0 -85.4583 11.5833 -124.875 34.75s-70.7917 53.8333 -94.125 92c-3.33334 5.83333 -5 11.5833 -5 17.25
c0 5.66667 1.66667 11.4167 5 17.25c23.3334 38.1667 54.7084 68.8333 94.125 92c39.4167 23.1667 81.0417 34.75 124.875 34.75c43.8333 0 85.4583 -11.5833 124.875 -34.75s70.7917 -53.8333 94.125 -92c3.33334 -5.83333 5 -11.5833 5 -17.25z" />
<glyph glyph-name="uniF344" unicode="&#xf344;"
d="M291.147 448l160.617 -159.864v-352.136h-391.529v512h230.912zM301.177 395.535v-98.123h98.5752zM90.3525 -33.8828h331.295v301.177h-150.589v150.589h-60.2354v-30.1182h-30.1172v30.1182h-90.3535v-451.766zM150.588 207.059h30.1182v-30.1172h-30.1182v30.1172z
M180.706 207.059v30.1182h30.1172v-30.1182h-30.1172zM180.706 267.294v30.1182h30.1172v-30.1182h-30.1172zM150.588 267.294h30.1182v-30.1172h-30.1182v30.1172zM150.588 327.529h30.1182v-30.1172h-30.1182v30.1172zM180.706 327.529v30.1182h30.1172v-30.1182h-30.1172
zM150.588 387.765h30.1182v-30.1172h-30.1182v30.1172zM180.706 165.226c33.2197 0 60.2354 -27.0156 60.2354 -60.2354c0 -9.93848 -2.53027 -19.6064 -7.5293 -28.7324c-9.42676 -17.1973 -26.6543 -28.7627 -46.1104 -30.9004
c-2.95117 -0.391602 -4.72852 -0.602539 -6.5957 -0.602539c-33.2197 0 -60.2354 27.0156 -60.2354 60.2354s27.0156 60.2354 60.2354 60.2354zM206.999 90.6846c2.5293 4.66797 3.82422 9.48633 3.82422 14.2754c0 16.5947 -13.5225 30.1182 -30.1172 30.1182
s-30.1182 -13.5234 -30.1182 -30.1182s13.4932 -30.1172 30.0879 -30.1172l3.37305 0.420898c9.66797 1.05469 18.251 6.83691 22.9502 15.4209z" />
<glyph glyph-name="uniF32E" unicode="&#xf32e;"
d="M256 384c34.8333 0 66.9583 -8.58334 96.375 -25.75c29.4167 -17.1673 52.7083 -40.459 69.875 -69.875c17.1667 -29.4168 25.75 -61.5418 25.75 -96.375c0 -34.8333 -8.58334 -66.9583 -25.75 -96.375c-17.1674 -29.4167 -40.4591 -52.7083 -69.875 -69.875
c-29.4167 -17.1667 -61.5417 -25.75 -96.375 -25.75c-34.8333 0 -66.9583 8.58333 -96.375 25.75c-29.4167 17.1667 -52.7083 40.4583 -69.875 69.875c-17.1667 29.4167 -25.75 61.5417 -25.75 96.375c0 34.8333 8.58334 66.9583 25.75 96.375
s40.4583 52.7083 69.875 69.875s61.5417 25.75 96.375 25.75zM288 72.25v47.5c0 2.3338 -0.75 4.29214 -2.25 5.875c-1.5 1.58334 -3.33334 2.375 -5.5 2.375h-48c-2.16667 0 -4.08333 -0.833336 -5.75 -2.5c-1.66667 -1.66714 -2.5 -3.5838 -2.5 -5.75v-47.5
c0 -2.16693 0.833328 -4.0836 2.5 -5.75c1.66841 -1.66667 3.58508 -2.5 5.75 -2.5h48c2.16666 -3.8147e-06 4 0.791664 5.5 2.375c1.5 1.5836 2.25 3.54193 2.25 5.875zM287.5 158.25l4.5 155.25c0 2 -0.833344 3.5 -2.5 4.5c-1.66666 1.33334 -3.66666 2 -6 2h-55
c-2.33333 0 -4.33333 -0.666656 -6 -2c-1.66667 -1 -2.5 -2.5 -2.5 -4.5l4.25 -155.25c0 -1.66667 0.833328 -3.125 2.5 -4.375s3.66667 -1.875 6 -1.875h46.25c2.33765 0 4.29599 0.625 5.875 1.875c1.58334 1.25 2.45834 2.70833 2.625 4.375z" />
<glyph glyph-name="uniF33E" unicode="&#xf33e;"
d="M304 102v-60c0 -2.66667 -1 -5 -3 -7s-4.33334 -3 -7 -3h-60c-2.66667 0 -5 1 -7 3s-3 4.33333 -3 7v60c0 2.66666 1 5 3 7s4.33333 3 7 3h60c2.66666 0 5 -1 7 -3s3 -4.33334 3 -7zM383 252c0 -9 -1.29166 -17.4167 -3.875 -25.25s-5.5 -14.2083 -8.75 -19.125
s-7.83334 -9.875 -13.75 -14.875c-5.918 -5 -10.7097 -8.625 -14.375 -10.875c-3.66666 -2.25 -8.75 -5.20833 -15.25 -8.875c-6.83334 -3.83333 -12.5417 -9.25 -17.125 -16.25s-6.875 -12.5833 -6.875 -16.75c0 -2.83347 -1 -5.54179 -3 -8.125
c-2 -2.58334 -4.33334 -3.87501 -7 -3.875h-60c-2.5 0 -4.625 1.54167 -6.375 4.625s-2.625 6.20833 -2.625 9.375v11.25c0 13.8333 5.41667 26.875 16.25 39.125s22.75 21.2917 35.75 27.125c9.83334 4.5 16.8333 9.16667 21 14s6.25 11.1667 6.25 19
c0 7 -3.875 13.1667 -11.625 18.5s-16.7083 8 -26.875 8c-10.8333 0 -19.8333 -2.41666 -27 -7.25c-5.83333 -4.16666 -14.75 -13.75 -26.75 -28.75c-2.16667 -2.66667 -4.75 -4 -7.75 -4c-2 0 -4.08333 0.666672 -6.25 2l-41 31.25
c-2.16667 1.66666 -3.45833 3.75 -3.875 6.25s0.0416718 4.83334 1.375 7c26.6668 44.3333 65.3334 66.5 116 66.5c13.3333 0 26.75 -2.58334 40.25 -7.75c13.5 -5.16699 25.6667 -12.0836 36.5 -20.75c10.8347 -8.66666 19.6681 -19.2917 26.5 -31.875
c6.83334 -12.5833 10.25 -25.7917 10.25 -39.625z" />
<glyph glyph-name="uniF343" unicode="&#xf343;"
d="M150.588 448h361.412v-120.471h-361.412v120.471zM481.883 357.647v60.2354h-301.177v-60.2354h301.177zM150.588 146.823v120.471h361.412v-120.471h-361.412zM180.706 237.177v-60.2354h301.177v60.2354h-301.177zM150.588 -33.8828v120.471h361.412v-120.471h-361.412
zM180.706 56.4707v-60.2354h301.177v60.2354h-301.177zM0 327.529v120.471h120.471v-120.471h-120.471zM30.1172 417.883v-60.2354h60.2354v60.2354h-60.2354zM0 146.823v120.471h120.471v-120.471h-120.471zM30.1172 237.177v-60.2354h60.2354v60.2354h-60.2354z
M0 -33.8828v120.471h120.471v-120.471h-120.471zM30.1172 56.4707v-60.2354h60.2354v60.2354h-60.2354z" />
<glyph glyph-name="uniF33C" unicode="&#xf33c;"
d="M431 69.75c0 -19.5 -6.58334 -35.8333 -19.75 -49c-13.1667 -13.1667 -29.5 -19.75 -49 -19.75c-22.5 0 -42.0833 8.33333 -58.75 25l-194.25 194c-18.8333 19.1667 -28.25 41.75 -28.25 67.75c0 26.5 9.16666 49 27.5 67.5s40.75 27.75 67.25 27.75
c26.3333 0 49.0833 -9.41666 68.25 -28.25l151.25 -151.5c1.66666 -1.66667 2.5 -3.5 2.5 -5.5c0 -2.66667 -2.54166 -6.54167 -7.625 -11.625s-8.95834 -7.625 -11.625 -7.625c-2.17239 0 -4.08905 0.833328 -5.75 2.5l-151.5 151.75
c-13.1667 12.8333 -28.25 19.25 -45.25 19.25c-17.6667 0 -32.5833 -6.25 -44.75 -18.75c-12.1667 -12.5 -18.25 -27.5833 -18.25 -45.25c0 -17.5 6.33334 -32.5833 19 -45.25l194 -194.25c10.5 -10.5 22.5833 -15.75 36.25 -15.75c10.6667 0 19.5 3.5 26.5 10.5
s10.5 15.8333 10.5 26.5c0 13.6667 -5.25 25.75 -15.75 36.25l-145.25 145.25c-4.33333 4 -9.33333 6 -15 6c-4.83333 0 -8.83333 -1.58333 -12 -4.75s-4.75 -7.16667 -4.75 -12c0 -5.33333 2.08333 -10.25 6.25 -14.75l102.5 -102.5c1.66666 -1.66666 2.5 -3.5 2.5 -5.5
c0 -2.66689 -2.58334 -6.58355 -7.75 -11.75c-5.16898 -5.16666 -9.08563 -7.75 -11.75 -7.75c-2 0 -3.83334 0.833336 -5.5 2.5l-102.5 102.5c-10.5 10.1671 -15.75 22.5838 -15.75 37.25c0 13.6667 4.75 25.25 14.25 34.75s21.0833 14.25 34.75 14.25
c14.6671 0 27.0838 -5.25 37.25 -15.75l145.25 -145.25c16.6667 -16.3333 25 -35.9167 25 -58.75z" />
<glyph glyph-name="uniF31E" unicode="&#xf31e;"
d="M430.1 256c17.7002 0 18.6006 -7 17.7002 -18.2002l-12.0996 -185.3c-1 -11.2998 -3.10059 -20.5 -21.1006 -20.5h-316.199c-17.6006 0 -20.2002 9.2998 -21.1006 20.5l-13 183c-1 11.2998 -0.0996094 20.5 17.6006 20.5h348.199zM426.2 304.7l1.59961 -32.7002h-343.399
c0.5 6.2002 4 46.7002 5.5 63.4004c1.59961 18.0996 7.7998 16.5996 25.1992 16.5996h75.3008c28.2998 0 22.8994 0.200195 36.5996 -14.5996c16.5 -17.7002 19.0996 -17.4004 40.9004 -17.4004h143.199c10.6006 0 14.6006 -2.90039 15.1006 -15.2998z" />
<glyph glyph-name="uniF318" unicode="&#xf318;"
d="M288 0c-8.83203 0 -16 7.16797 -16 16v192c0 8.83203 7.16797 16 16 16s16 -7.16797 16 -16v-192c0 -8.83203 -7.16797 -16 -16 -16zM384 384c17.6797 0 32 -14.3203 32 -32v-32c0 -17.6641 -14.3203 -32 -32 -32v-288c0 -35.3438 -28.6562 -64 -64 -64h-224
c-35.3438 0 -64 28.6562 -64 64v288c-17.6797 0 -32 14.3359 -32 32v32c0 17.6797 14.3203 32 32 32h96v32c0 17.6797 14.3203 32 32 32h96c17.6797 0 32 -14.3203 32 -32v-32h96zM160 400v-16h96v16c0 8.83203 -7.16797 16 -16 16h-64c-8.83203 0 -16 -7.16797 -16 -16z
M352 0v288h-288v-288c0 -17.6641 14.3203 -32 32 -32h224c17.6797 0 32 14.3359 32 32zM368 320c8.83203 0 16 7.16797 16 16s-7.16797 16 -16 16h-320c-8.83203 0 -16 -7.16797 -16 -16s7.16797 -16 16 -16h320zM128 0c-8.83203 0 -16 7.16797 -16 16v192
c0 8.83203 7.16797 16 16 16s16 -7.16797 16 -16v-192c0 -8.83203 -7.16797 -16 -16 -16zM208 0c-8.83203 0 -16 7.16797 -16 16v192c0 8.83203 7.16797 16 16 16s16 -7.16797 16 -16v-192c0 -8.83203 -7.16797 -16 -16 -16z" />
<glyph glyph-name="uniF331" unicode="&#xf331;"
d="M180.706 440.019l331.294 -64.8125v-353.461l-0.210938 0.0605469c-1.05371 -47.4658 -39.8154 -85.8057 -87.5518 -85.8057c-48.3994 0 -87.7627 39.3936 -87.7627 87.7627s39.3633 87.7627 87.7627 87.7627c22.166 0 42.1943 -8.52344 57.6455 -22.1064v140.529
l-271.06 53.0371v-183.537c0.0302734 -1.02344 0.271484 -1.95703 0.271484 -3.04199c0 -1.08398 -0.271484 -2.04785 -0.301758 -3.07129v-0.180664v0c-1.74609 -46.8633 -40.1465 -84.541 -87.4307 -84.541c-48.3994 0 -87.7637 39.3945 -87.7637 87.7637
c0 48.3682 39.3643 87.7627 87.7637 87.7627c22.0156 0 41.9229 -8.43359 57.3438 -21.8662v277.745zM123.362 38.7314c30.75 0 55.7168 24.2441 57.3438 54.6035v6.11328c-1.62695 30.3291 -26.5938 54.5732 -57.3438 54.5732
c-31.8047 0 -57.6455 -25.8408 -57.6455 -57.6445c0 -31.8047 25.8408 -57.6455 57.6455 -57.6455zM210.823 313.646l271.06 -53.0078v89.751l-271.06 53.0674v-89.8105zM424.237 -33.8828c31.8037 0 57.6455 25.8418 57.6455 57.6455
c0 31.8047 -25.8418 57.6455 -57.6455 57.6455c-31.8047 0 -57.6455 -25.8408 -57.6455 -57.6455c0 -31.8037 25.8408 -57.6455 57.6455 -57.6455z" />
<glyph glyph-name="uniF303" unicode="&#xf303;"
d="M384 144c0 -4.33333 -1.58334 -8.08333 -4.75 -11.25l-112 -112c-3.16666 -3.16667 -6.91666 -4.75 -11.25 -4.75c-4.33333 0 -8.08333 1.58333 -11.25 4.75l-112 112c-3.16667 3.16667 -4.75 6.91667 -4.75 11.25c-7.62939e-06 4.33333 1.58333 8.08333 4.75 11.25
s6.91667 4.75 11.25 4.75h224c4.33334 0 8.08334 -1.58333 11.25 -4.75s4.75 -6.91667 4.75 -11.25zM384 240c0 -4.33333 -1.58334 -8.08333 -4.75 -11.25s-6.91666 -4.75 -11.25 -4.75h-224c-4.33333 0 -8.08333 1.58333 -11.25 4.75s-4.75 6.91667 -4.75 11.25
c-7.62939e-06 4.33333 1.58333 8.08333 4.75 11.25l112 112c3.16667 3.16666 6.91667 4.75 11.25 4.75c4.33334 0 8.08334 -1.58334 11.25 -4.75l112 -112c3.16666 -3.16667 4.75 -6.91667 4.75 -11.25z" />
<glyph glyph-name="uniF2FF" unicode="&#xf2ff;"
d="M467.697 361.954c17.6182 -17.6191 17.6182 -46.291 -0.0302734 -63.8799l-272.716 -272.745l-158.057 -53.1582l51.8623 159.263l272.775 272.806c17.0771 17.0459 46.8936 17.0459 63.9092 0zM93.1836 47.6162l18.5527 -18.5527l59.1211 19.8779l-58.2471 58.2773z
M131.162 131.223l63.5488 -63.5781l165.466 165.466l-63.5781 63.5488zM317.892 317.982l63.5781 -63.5488l21.9561 21.9561l-63.5781 63.5479zM446.403 319.367c5.87305 5.87305 5.87305 15.3906 -0.0292969 21.2939l-42.2559 42.2852
c-5.69141 5.69141 -15.6006 5.69141 -21.293 0l-21.6846 -21.7148l63.5781 -63.5488z" />
<glyph glyph-name="uniF339" unicode="&#xf339;"
d="M320 72v40c0 2.33334 -0.75 4.25 -2.25 5.75s-3.41666 2.25 -5.75 2.25h-24v128c0 2.33333 -0.75 4.25 -2.25 5.75s-3.41666 2.25 -5.75 2.25h-80c-2.33333 0 -4.25 -0.75 -5.75 -2.25s-2.25 -3.41667 -2.25 -5.75v-40c0 -2.33333 0.75 -4.25 2.25 -5.75
s3.41667 -2.25 5.75 -2.25h24v-80h-24c-2.33333 0 -4.25 -0.75 -5.75 -2.25s-2.25 -3.41666 -2.25 -5.75v-40c0 -2.33334 0.75 -4.25 2.25 -5.75s3.41667 -2.25 5.75 -2.25h112c2.33334 0 4.25 0.75 5.75 2.25s2.25 3.41666 2.25 5.75zM288 296v40
c0 2.33334 -0.75 4.25 -2.25 5.75s-3.41666 2.25 -5.75 2.25h-48c-2.33333 0 -4.25 -0.75 -5.75 -2.25s-2.25 -3.41666 -2.25 -5.75v-40c0 -2.33334 0.75 -4.25 2.25 -5.75s3.41667 -2.25 5.75 -2.25h48c2.33334 0 4.25 0.75 5.75 2.25s2.25 3.41666 2.25 5.75zM448 192
c0 -34.8333 -8.58334 -66.9583 -25.75 -96.375c-17.1674 -29.4167 -40.4591 -52.7083 -69.875 -69.875c-29.4167 -17.1667 -61.5417 -25.75 -96.375 -25.75c-34.8333 0 -66.9583 8.58333 -96.375 25.75c-29.4167 17.1667 -52.7083 40.4583 -69.875 69.875
c-17.1667 29.4167 -25.75 61.5417 -25.75 96.375c0 34.8333 8.58334 66.9583 25.75 96.375s40.4583 52.7083 69.875 69.875s61.5417 25.75 96.375 25.75c34.8333 0 66.9583 -8.58334 96.375 -25.75c29.4167 -17.1673 52.7083 -40.459 69.875 -69.875
c17.1667 -29.4168 25.75 -61.5418 25.75 -96.375z" />
<glyph glyph-name="uniF317" unicode="&#xf317;"
d="M351.25 135.5c0 4.33333 -1.58334 8.08333 -4.75 11.25l-45.25 45.25l45.25 45.25c3.16666 3.16667 4.75 6.91667 4.75 11.25c0 4.5 -1.58334 8.33334 -4.75 11.5l-22.5 22.5c-3.16666 3.16666 -7 4.75 -11.5 4.75c-4.33334 0 -8.08334 -1.58334 -11.25 -4.75
l-45.25 -45.25l-45.25 45.25c-3.16667 3.16666 -6.91667 4.75 -11.25 4.75c-4.5 0 -8.33333 -1.58334 -11.5 -4.75l-22.5 -22.5c-3.16667 -3.16763 -4.75 -7.00096 -4.75 -11.5c0 -4.33333 1.58333 -8.08333 4.75 -11.25l45.25 -45.25l-45.25 -45.25
c-3.16667 -3.16667 -4.75 -6.91667 -4.75 -11.25c0 -4.5 1.58333 -8.33334 4.75 -11.5l22.5 -22.5c3.16667 -3.16666 7 -4.75 11.5 -4.75c4.33333 0 8.08333 1.58334 11.25 4.75l45.25 45.25l45.25 -45.25c3.16666 -3.16666 6.91666 -4.75 11.25 -4.75
c4.5 0 8.33334 1.58334 11.5 4.75l22.5 22.5c3.16666 3.16666 4.75 7 4.75 11.5zM448 192c0 -34.8333 -8.58334 -66.9583 -25.75 -96.375c-17.1674 -29.4167 -40.4591 -52.7083 -69.875 -69.875c-29.4167 -17.1667 -61.5417 -25.75 -96.375 -25.75
c-34.8333 0 -66.9583 8.58333 -96.375 25.75c-29.4167 17.1667 -52.7083 40.4583 -69.875 69.875c-17.1667 29.4167 -25.75 61.5417 -25.75 96.375c0 34.8333 8.58334 66.9583 25.75 96.375s40.4583 52.7083 69.875 69.875s61.5417 25.75 96.375 25.75
c34.8333 0 66.9583 -8.58334 96.375 -25.75c29.4167 -17.1673 52.7083 -40.459 69.875 -69.875c17.1667 -29.4168 25.75 -61.5418 25.75 -96.375z" />
<glyph glyph-name="uniF336" unicode="&#xf336;"
d="M340.8 349.6c-38.2002 0 -71 -23.5 -84.7002 -56.7998c-13.8994 33.4004 -46.5996 56.7998 -84.7998 56.7998c-50.7998 0 -91.8994 -41.2998 -91.8994 -92.2998c0 -24.7998 9.7998 -47.2998 25.5996 -63.8994l151 -152.5l148.4 149.8
c17.3994 16.7998 28.2998 40.3994 28.2998 66.5996c0 51 -41.2002 92.2998 -91.9004 92.2998zM340.8 365v0c59.1006 0 107.2 -48.2998 107.2 -107.7c0 -29.5996 -11.7998 -57.2002 -32.7998 -77.5l-148.3 -149.8l-10.9004 -11l-10.9004 11l-151.199 152.7
c-19.3008 20.2002 -29.9004 46.7002 -29.9004 74.5996c0 59.4004 48.0996 107.7 107.2 107.7c33.7998 0 64.7998 -15.7998 84.7998 -41.7998c20 26 51 41.7998 84.7998 41.7998z" />
<glyph glyph-name="uniF312" unicode="&#xf312;"
d="M368 176v32c0 4.33333 -1.58334 8.08333 -4.75 11.25s-6.91666 4.75 -11.25 4.75h-64v64c0 4.33334 -1.58334 8.08334 -4.75 11.25s-6.91666 4.75 -11.25 4.75h-32c-4.33333 0 -8.08333 -1.58334 -11.25 -4.75s-4.75 -6.91666 -4.75 -11.25v-64h-64
c-4.33333 0 -8.08333 -1.58333 -11.25 -4.75s-4.75 -6.91667 -4.75 -11.25v-32c0 -4.33333 1.58333 -8.08333 4.75 -11.25s6.91667 -4.75 11.25 -4.75h64v-64c0 -4.33334 1.58333 -8.08334 4.75 -11.25s6.91667 -4.75 11.25 -4.75h32c4.33334 0 8.08334 1.58334 11.25 4.75
s4.75 6.91666 4.75 11.25v64h64c4.33334 0 8.08334 1.58333 11.25 4.75s4.75 6.91667 4.75 11.25zM448 192c0 -34.8333 -8.58334 -66.9583 -25.75 -96.375c-17.1674 -29.4167 -40.4591 -52.7083 -69.875 -69.875c-29.4167 -17.1667 -61.5417 -25.75 -96.375 -25.75
c-34.8333 0 -66.9583 8.58333 -96.375 25.75c-29.4167 17.1667 -52.7083 40.4583 -69.875 69.875c-17.1667 29.4167 -25.75 61.5417 -25.75 96.375c0 34.8333 8.58334 66.9583 25.75 96.375s40.4583 52.7083 69.875 69.875s61.5417 25.75 96.375 25.75
c34.8333 0 66.9583 -8.58334 96.375 -25.75c29.4167 -17.1673 52.7083 -40.459 69.875 -69.875c17.1667 -29.4168 25.75 -61.5418 25.75 -96.375z" />
<glyph glyph-name="uniF333" unicode="&#xf333;"
d="M351.383 448l160.617 -159.864v-352.136h-376.471v30.1172h346.354v301.177h-150.589v150.589h-210.342v-29.6367h14.126c24.9072 0 45.1758 -20.2686 45.1758 -45.1758v-258.561l-74.21 -149.354l-75.9268 149.264v258.65c0 24.9072 20.2695 45.1758 45.1768 45.1758
h15.541v59.7539h260.548zM117.7 26.293l32.4062 65.2646v176.219h-29.6357v-181.52h-30.1182v181.52h-30.1172v-176.128l33.25 -65.3555h24.2148zM150.106 343.07c0 8.28223 -6.74609 15.0586 -15.0586 15.0586h-59.7539c-8.28223 0 -15.0586 -6.77637 -15.0586 -15.0586
v-45.1768h89.8711v45.1768zM361.412 395.535v-98.123h98.5742z" />
<glyph glyph-name="uniF328" unicode="&#xf328;"
d="M392 192.75c0 26.8333 -7.25 51.4167 -21.75 73.75l-188.5 -188.25c22.8333 -14.8333 47.5833 -22.25 74.25 -22.25c18.5 0 36.125 3.625 52.875 10.875s31.2083 16.9583 43.375 29.125s21.8333 26.7083 29 43.625c7.16666 16.9167 10.75 34.625 10.75 53.125z
M142.25 118l188.75 188.5c-22.5 15.1667 -47.5 22.75 -75 22.75c-24.6667 0 -47.4167 -6.08334 -68.25 -18.25s-37.3333 -28.75 -49.5 -49.75c-12.1667 -21 -18.25 -43.8333 -18.25 -68.5c0 -27 7.41666 -51.9167 22.25 -74.75zM448 192.75
c0 -26.1667 -5.08334 -51.1667 -15.25 -75c-10.1667 -23.8333 -23.7917 -44.3333 -40.875 -61.5c-17.0833 -17.1667 -37.5 -30.8333 -61.25 -41c-23.75 -10.1667 -48.625 -15.25 -74.625 -15.25c-26 -4.76837e-07 -50.875 5.08333 -74.625 15.25
c-23.75 10.1667 -44.1667 23.8333 -61.25 41c-17.0833 17.1667 -30.7083 37.6667 -40.875 61.5c-10.1667 23.8333 -15.25 48.8333 -15.25 75c0 26.1667 5.08334 51.125 15.25 74.875s23.7917 44.2083 40.875 61.375c17.0833 17.1667 37.5 30.8333 61.25 41
s48.625 15.25 74.625 15.25s50.875 -5.08334 74.625 -15.25c23.75 -10.1668 44.1667 -23.8335 61.25 -41c17.0833 -17.1667 30.7083 -37.625 40.875 -61.375s15.25 -48.7083 15.25 -74.875z" />
<glyph glyph-name="uniF335" unicode="&#xf335;"
d="M376.38 448l135.62 -125.952v-295.695h-151.101v30.1182h120.983v240.941h-120.471v120.471h-150.589v-30.4189h-30.1172v60.5361h195.674zM391.529 392.824v-65.2949h70.3252zM0 357.647h195.675l135.619 -125.952v-295.695h-331.294v421.647zM210.823 302.472v-65.2949
h70.3252zM30.1172 -33.8828h271.06v240.941h-120.471v120.471h-150.589v-361.412z" />
<glyph glyph-name="uniF2FB" unicode="&#xf2fb;"
d="M512 207.059c0 -66.4395 -54.0312 -120.471 -120.471 -120.471c-36.0508 0 -69.5713 16.0225 -92.582 43.7314l-0.0595703 -0.0302734l-0.421875 0.541992c-0.331055 0.421875 -0.783203 0.692383 -1.14453 1.14453l0.120117 0.0898438l-109.447 134.987
c-17.1367 19.2754 -41.7432 30.3594 -67.5234 30.3594c-49.8145 0 -90.3535 -40.5391 -90.3535 -90.3535s40.5391 -90.3525 90.3535 -90.3525c27.5576 0 53.2783 12.3477 70.5352 33.8818l0.271484 -0.210938l24.6055 30.4795l23.4316 -18.9141l-24.7861 -30.6895
l-0.301758 0.240234c-22.9795 -28.5205 -57.1328 -44.9053 -93.7559 -44.9053c-66.4395 0 -120.471 54.0312 -120.471 120.471s54.0312 120.471 120.471 120.471c33.7314 0 65.8369 -14.3662 88.6357 -39.1826l0.241211 0.180664l1.26465 -1.56641l111.375 -137.337
c17.2578 -20.8711 42.4365 -32.918 69.542 -32.918c49.8145 0 90.3535 40.5381 90.3535 90.3525s-40.5391 90.3535 -90.3535 90.3535c-25.4795 0 -49.6943 -10.9033 -66.8613 -29.7871l-28.5518 -35.3877l-23.4307 18.9141l28.5508 35.3877l-0.120117 0.0908203
c22.8896 25.9912 55.8682 40.8994 90.4131 40.8994c66.4395 0 120.471 -54.0312 120.471 -120.471z" />
<glyph glyph-name="uniF329" unicode="&#xf329;"
d="M384 312.471c70.5654 0 128 -57.4346 128 -128s-57.4346 -128 -128 -128h-286.117c-53.9717 0 -97.8828 43.9111 -97.8828 97.8818c0 55.0254 46.6826 100.051 100.984 97.8223c21.4736 54.5732 73.2158 90.4131 132.428 90.4131
c37.165 0 72.8848 -14.8779 99.6592 -41.1709c16.4141 7.34863 33.5205 11.0537 50.9287 11.0537zM384 86.5879c53.9707 0 97.8828 43.9121 97.8828 97.8828s-43.9121 97.8818 -97.8828 97.8818c-16.0527 0 -31.834 -4.24609 -46.9834 -12.5889l-10.6621 -5.87305
l-7.98047 9.21582c-21.6553 24.998 -52.6465 39.3643 -84.9619 39.3643c-50.0254 0 -93.3047 -32.5273 -107.701 -80.9561l-3.79492 -12.71l-13.1006 2.16895c-3.58398 0.571289 -7.16797 1.14355 -10.9326 1.14355c-37.376 0 -67.7656 -30.3887 -67.7656 -67.7646
s30.3896 -67.7646 67.7656 -67.7646h286.117z" />
<glyph glyph-name="uniF338" unicode="&#xf338;"
d="M320 80v-32c0 -4.33301 -1.58301 -8.08301 -4.75 -11.25s-6.91699 -4.75 -11.25 -4.75h-128c-4.33301 0 -8.08301 1.58301 -11.25 4.75s-4.75 6.91699 -4.75 11.25v32c0 4.33301 1.58301 8.08301 4.75 11.25s6.91699 4.75 11.25 4.75h16v96h-16
c-4.33301 0 -8.08301 1.58301 -11.25 4.75s-4.75 6.91699 -4.75 11.25v32c0 4.33301 1.58301 8.08301 4.75 11.25s6.91699 4.75 11.25 4.75h96c4.33301 0 8.08301 -1.58301 11.25 -4.75s4.75 -6.91699 4.75 -11.25v-144h16c4.33301 0 8.08301 -1.58301 11.25 -4.75
s4.75 -6.91699 4.75 -11.25zM288 368v-48c0 -4.33301 -1.58301 -8.08301 -4.75 -11.25s-6.91699 -4.75 -11.25 -4.75h-64c-4.33301 0 -8.08301 1.58301 -11.25 4.75s-4.75 6.91699 -4.75 11.25v48c0 4.33301 1.58301 8.08301 4.75 11.25s6.91699 4.75 11.25 4.75h64
c4.33301 0 8.08301 -1.58301 11.25 -4.75s4.75 -6.91699 4.75 -11.25z" />
<glyph glyph-name="uniF33B" unicode="&#xf33b;"
d="M368 176v32c0 4.33333 -1.58334 8.08333 -4.75 11.25s-6.91666 4.75 -11.25 4.75h-192c-4.33333 0 -8.08333 -1.58333 -11.25 -4.75s-4.75 -6.91667 -4.75 -11.25v-32c0 -4.33333 1.58333 -8.08333 4.75 -11.25s6.91667 -4.75 11.25 -4.75h192
c4.33334 0 8.08334 1.58333 11.25 4.75s4.75 6.91667 4.75 11.25zM448 192c0 -34.8333 -8.58334 -66.9583 -25.75 -96.375c-17.1674 -29.4167 -40.4591 -52.7083 -69.875 -69.875c-29.4167 -17.1667 -61.5417 -25.75 -96.375 -25.75
c-34.8333 0 -66.9583 8.58333 -96.375 25.75c-29.4167 17.1667 -52.7083 40.4583 -69.875 69.875c-17.1667 29.4167 -25.75 61.5417 -25.75 96.375c0 34.8333 8.58334 66.9583 25.75 96.375s40.4583 52.7083 69.875 69.875s61.5417 25.75 96.375 25.75
c34.8333 0 66.9583 -8.58334 96.375 -25.75c29.4167 -17.1673 52.7083 -40.459 69.875 -69.875c17.1667 -29.4168 25.75 -61.5418 25.75 -96.375z" />
<glyph glyph-name="uniF341" unicode="&#xf341;"
d="M512 244.706c0 -70.5654 -57.4043 -128 -128 -128h-83.0342v30.1172h83.0342c53.9707 0 97.8828 43.9121 97.8828 97.8828s-43.9121 97.8818 -97.8828 97.8818c-16.0225 0 -31.834 -4.24609 -46.9834 -12.5586l-10.6621 -5.87305l-7.98047 9.21582
c-21.6553 24.9678 -52.6465 39.334 -84.9619 39.334c-50.0254 0 -93.335 -32.5273 -107.701 -80.9561l-3.79492 -12.71l-13.1006 2.16797c-3.58398 0.572266 -7.16797 1.14453 -10.9326 1.14453c-37.3467 0 -67.7656 -30.3887 -67.7656 -67.7646
s30.4189 -67.7646 67.7656 -67.7646h111.404v-30.1172h-111.404c-53.9717 0 -97.8828 43.9111 -97.8828 97.8818c0 54.9951 46.0498 100.442 100.984 97.8223c21.4736 54.5732 73.2158 90.4131 132.428 90.4131c37.165 0 72.8848 -14.8779 99.6592 -41.1709
c16.4443 7.34863 33.5205 11.0537 50.9287 11.0537c70.5957 0 128 -57.4346 128 -128zM320.633 181.338l-49.5742 49.6045v-234.707h-30.1172v234.707l-49.6035 -49.5742l-21.2939 21.2939l85.9561 85.9248l85.9258 -85.9551z" />
<glyph glyph-name="uniF32F" unicode="&#xf32f;"
d="M288 72.25v47.5c0 2.3338 -0.791656 4.29214 -2.375 5.875c-1.58334 1.58334 -3.45834 2.375 -5.625 2.375h-48c-2.16667 0 -4.04167 -0.791664 -5.625 -2.375s-2.375 -3.54166 -2.375 -5.875v-47.5c0 -2.33334 0.791672 -4.29166 2.375 -5.875
s3.45833 -2.375 5.625 -2.375h48c2.16666 -3.8147e-06 4.04166 0.791664 5.625 2.375c1.58334 1.5836 2.375 3.54193 2.375 5.875zM287.5 165.75l4.5 114.75c0 2 -0.833344 3.58334 -2.5 4.75c-2.16666 1.83334 -4.16666 2.75 -6 2.75h-55
c-1.83333 0 -3.83333 -0.916656 -6 -2.75c-1.66667 -1.16666 -2.5 -2.91666 -2.5 -5.25l4.25 -114.25c0 -1.66667 0.833328 -3.04167 2.5 -4.125s3.66667 -1.625 6 -1.625h46.25c2.33765 0 4.29599 0.541672 5.875 1.625c1.58334 1.08333 2.45834 2.45833 2.625 4.125z
M284 399.25l192 -352c5.83331 -10.5 5.66666 -21 -0.5 -31.5c-2.83334 -4.83333 -6.70834 -8.66667 -11.625 -11.5c-4.91754 -2.83333 -10.2092 -4.25 -15.875 -4.25h-384c-5.66667 0 -10.9583 1.41667 -15.875 4.25c-4.91667 2.83333 -8.79167 6.66667 -11.625 11.5
c-6.16678 10.5 -6.33345 21 -0.5 31.5l192 352c2.83333 5.16666 6.75 9.25 11.75 12.25s10.4167 4.5 16.25 4.5c5.83334 0 11.25 -1.5 16.25 -4.5s8.91666 -7.08334 11.75 -12.25z" />
<glyph glyph-name="uniF340" unicode="&#xf340;"
d="M256 268.138c41.502 0 75.2939 -33.792 75.2939 -75.2939c0 -41.5029 -33.792 -75.2949 -75.2939 -75.2949s-75.2939 33.792 -75.2939 75.2949c0 41.502 33.792 75.2939 75.2939 75.2939zM256 147.667c24.9072 0 45.1768 20.2686 45.1768 45.1768
c0 24.9072 -20.2695 45.1758 -45.1768 45.1758s-45.1768 -20.2686 -45.1768 -45.1758c0 -24.9082 20.2695 -45.1768 45.1768 -45.1768zM510.193 163.509l-77.9453 -23.3711c-3.61328 -12.1074 -8.37207 -23.7334 -14.2754 -34.6357l38.4902 -71.5596
c-12.2275 -15.3896 -26.1719 -29.334 -41.5625 -41.5928l-71.5596 38.5205c-10.9023 -5.90234 -22.5273 -10.6611 -34.6348 -14.2754l-23.3711 -77.9443c-9.6377 -1.11426 -19.4258 -1.80664 -29.335 -1.80664c-9.9082 0 -19.667 0.692383 -29.335 1.80664l-23.3711 77.9443
c-12.1074 3.61426 -23.7324 8.37305 -34.6348 14.2754l-71.5898 -38.5205c-15.3906 12.2285 -29.335 26.1729 -41.5625 41.5625l38.5205 71.5596c-5.90332 10.9033 -10.6621 22.5283 -14.2754 34.666l-77.9453 23.3711c-1.11426 9.6377 -1.80664 19.3955 -1.80664 29.335
c0 9.93848 0.692383 19.6963 1.80664 29.334l77.9746 23.4316c3.61426 12.1074 8.37305 23.7324 14.2764 34.6357l-38.5205 71.5293c12.1973 15.3896 26.1416 29.334 41.5322 41.5625l71.5898 -38.5508c10.8721 5.93262 22.4971 10.7217 34.6348 14.3057l23.3711 77.9443
c9.6377 1.11426 19.3965 1.80762 29.335 1.80762s19.6973 -0.693359 29.335 -1.80762l23.3711 -77.9443c12.1074 -3.61426 23.7021 -8.37305 34.6348 -14.2754l71.5898 38.5498c15.3906 -12.2578 29.335 -26.2021 41.5625 -41.5615l-38.5205 -71.5898
c5.90332 -10.9023 10.6914 -22.498 14.2754 -34.6055l77.9453 -23.4316c1.11426 -9.66797 1.80664 -19.4258 1.80664 -29.334c0 -9.90918 -0.692383 -19.667 -1.80664 -29.335zM408.034 164.322l73.7275 22.1064c0.0908203 2.16797 0.121094 4.30664 0.121094 6.41504
c0 2.10742 -0.0302734 4.24609 -0.0605469 6.41504l-58.1875 17.498l-15.6006 4.66797l-4.63867 15.6016c-3.01172 10.0889 -6.9873 19.7871 -11.8965 28.8223l-7.74023 14.3057l7.68066 14.3057l28.7021 53.3086c-2.98242 3.16211 -6.08398 6.23438 -9.2168 9.21582
l-67.584 -36.3818l-14.3057 7.67969c-9.06543 4.90918 -18.8232 8.91504 -28.9131 11.9268l-15.6006 4.6377l-4.66797 15.6016l-17.4385 58.1875c-2.16895 0.0595703 -4.30664 0.0898438 -6.41504 0.0898438s-4.24609 -0.0302734 -6.44531 -0.0605469l-17.4375 -58.1865
l-4.66895 -15.6016l-15.6006 -4.6377c-10.1494 -3.01172 -19.8477 -7.01758 -28.793 -11.8965l-14.3359 -7.80078l-67.6738 36.4424c-3.13281 -2.98145 -6.2041 -6.08398 -9.18652 -9.21582l36.3828 -67.6143l-7.70996 -14.3057
c-4.90918 -9.00488 -8.91504 -18.7334 -11.9268 -28.8828l-4.63867 -15.6006l-73.7275 -22.1064c-0.0908203 -2.16895 -0.121094 -4.30762 -0.121094 -6.41504c0 -2.07812 0.0302734 -4.2168 0.121094 -6.38574l73.7578 -22.1064l4.6084 -15.5703
c3.04199 -10.1494 7.04688 -19.8779 11.9268 -28.9131l7.70996 -14.3057l-36.3828 -67.584c2.98242 -3.16211 6.08398 -6.23438 9.2168 -9.21582l67.6133 36.3516l14.3066 -7.70996c9.03516 -4.90918 18.7627 -8.91504 28.8828 -11.9268l15.6006 -4.6377l4.66797 -15.6016
l17.4385 -58.1865c2.16895 -0.0605469 4.30664 -0.0908203 6.41504 -0.0908203s4.24707 0.0302734 6.41504 0.0908203l17.4385 58.1865l4.66797 15.6016l15.6006 4.6377c10.1201 3.04199 19.8477 7.01758 28.9131 11.9268l14.3057 7.70996l67.5547 -36.4121
c3.16211 2.98145 6.23438 6.05371 9.21582 9.21582l-28.6719 53.3086l-7.68066 14.3057l7.70996 14.3057c4.90918 9.00586 8.91504 18.7334 11.9268 28.8828z" />
<glyph glyph-name="uniF332" unicode="&#xf332;"
d="M30.1172 417.883h451.766v-451.766h-451.766v451.766zM451.765 -3.76465v60.2354h-391.529v-60.2354h391.529zM60.2354 86.5879h391.529v301.177h-391.529v-301.177zM427.761 141.854l-20.9922 -21.5947l-72.7939 70.7461l-46.8027 -50.4766l-74.873 132.969
l-102.43 -149.835l-24.877 16.9863l129.807 189.831l78.4268 -139.203l39.665 42.8271z" />
<glyph glyph-name="uniF316" unicode="&#xf316;"
d="M404.5 85.5c0 -6.66674 -2.33334 -12.3334 -7 -17l-34 -34c-4.66803 -4.66667 -10.3347 -7 -17 -7c-6.66925 0 -12.3359 2.33333 -17 7l-73.5 73.5l-73.5 -73.5c-4.66667 -4.66667 -10.3333 -7 -17 -7s-12.3333 2.33333 -17 7l-34 34c-4.66666 4.66666 -7 10.3333 -7 17
s2.33334 12.3333 7 17l73.5 73.5l-73.5 73.5c-4.66666 4.66667 -7 10.3333 -7 17s2.33334 12.3333 7 17l34 34c4.66696 4.66666 10.3336 7 17 7c6.66733 0 12.334 -2.33334 17 -7l73.5 -73.5l73.5 73.5c4.66666 4.66666 10.3333 7 17 7s12.3333 -2.33334 17 -7l34 -34
c4.66666 -4.66772 7 -10.3344 7 -17c0 -6.66666 -2.33334 -12.3333 -7 -17l-73.5 -73.5l73.5 -73.5c4.66666 -4.66685 7 -10.3335 7 -17z" />
<glyph glyph-name="uniF300" unicode="&#xf300;"
d="M180.706 207.059h-180.706v180.706h30.1172v-123.753c30.5098 96.165 121.556 165.165 225.883 165.165c105.593 0 199.409 -71.0781 228.111 -172.846l-29.0039 -8.16211c-25.0576 88.8477 -106.947 150.92 -199.107 150.92
c-97.1592 -0.0302734 -181.188 -68.5479 -202.029 -161.912h126.735v-30.1182zM331.294 176.941h180.706v-180.706h-30.1172v123.724c-30.8711 -96.4375 -121.706 -165.105 -225.883 -165.105c-105.623 0 -199.439 71.0781 -228.111 172.846l29.0039 8.16113
c25.0273 -88.8467 106.887 -150.919 199.107 -150.919c97.25 0 181.157 68.4873 202.029 161.882h-126.735v30.1182z" />
<glyph glyph-name="uniF32C" unicode="&#xf32c;"
d="M512 244.706c0 -70.5654 -57.4043 -128 -128 -128h-83.0342v30.1172h83.0342c53.9707 0 97.8828 43.9121 97.8828 97.8828s-43.9121 97.8818 -97.8828 97.8818c-16.0225 0 -31.834 -4.24609 -46.9834 -12.5586l-10.6621 -5.87305l-7.98047 9.21582
c-21.6553 24.9678 -52.6465 39.334 -84.9619 39.334c-50.0254 0 -93.335 -32.5273 -107.701 -80.9561l-3.79492 -12.71l-13.1006 2.16797c-3.58398 0.572266 -7.16797 1.14453 -10.9326 1.14453c-37.3467 0 -67.7656 -30.3887 -67.7656 -67.7646
s30.4189 -67.7646 67.7656 -67.7646h111.404v-30.1172h-111.404c-53.9717 0 -97.8828 43.9111 -97.8828 97.8818c0 54.9951 45.5078 100.442 100.984 97.8223c21.4736 54.5732 73.2158 90.4131 132.428 90.4131c37.165 0 72.8848 -14.8779 99.6592 -41.1709
c16.4443 7.34863 33.5205 11.0537 50.9287 11.0537c70.5957 0 128 -57.4346 128 -128zM271.059 34.4844l49.6035 49.6045l21.2939 -21.2939l-85.9561 -85.9551l-85.9258 85.9258l21.293 21.293l49.5742 -49.5742v232.81h30.1172v-232.81z" />
<glyph glyph-name="uniF311" unicode="&#xf311;"
d="M416 232v-48c0 -6.66699 -2.33301 -12.333 -7 -17c-4.66992 -4.66699 -10.3369 -7 -17 -7h-104v-104c0 -6.66699 -2.33301 -12.333 -7 -17c-4.66895 -4.66699 -10.3359 -7 -17 -7h-48c-6.66699 0 -12.333 2.33301 -17 7s-7 10.333 -7 17v104h-104
c-6.66699 0 -12.334 2.33301 -17 7c-4.66699 4.66699 -7 10.334 -7 17v48c0 6.66797 2.33301 12.334 7 17c4.66699 4.66699 10.333 7 17 7h104v104c0 6.66699 2.33301 12.333 7 17c4.66797 4.66699 10.334 7 17 7h48c6.66699 0 12.333 -2.33301 17 -7
c4.66699 -4.66992 7 -10.3359 7 -17v-104h104c6.66699 0 12.333 -2.33301 17 -7s7 -10.333 7 -17z" />
<glyph glyph-name="uniF31D" unicode="&#xf31d;"
d="M291.147 448l160.617 -159.864v-352.136h-391.529v512h230.912zM301.177 395.535v-98.123h98.5752zM90.3525 -33.8828h331.295v301.177h-150.589v150.589h-180.706v-451.766z" />
<glyph glyph-name="uniF32A" unicode="&#xf32a;"
d="M193.3 187.6l-11.5996 11.6006l74.5 74.2998l74.5 -74.2998l-11.7002 -11.6006l-54.5996 54.6006v-241.8h-16.5v241.8zM399.3 264.4c45.2002 -0.100586 80.7002 -40.1006 80.7002 -85.6006s-37 -82.7998 -82 -82.7998v0h-101v16h97.2998h3.2002
c36.7002 0.200195 66.5 30.2998 66.5 67.0996c0 36.9004 -29 69.8008 -65.5996 70.3008l-15.2002 0.0996094s0.200195 7 0.200195 20.2998c0 55.6006 -45.6006 98.9004 -100.9 98.9004c-38.2998 0 -73.7998 -22.5 -90.4004 -57.4004l-6.5 -13.7002l-13.5 6.80078
c-6.19922 3.19922 -13 4.7998 -19.8994 4.7998c-21.7998 0 -40.2998 -17.7002 -43.9004 -39.2998l-1.5 -8.80078l-8.39941 -2.89941c-30 -10.4004 -50.2002 -39.7998 -50.2002 -71.6006c0 -41.0996 33.2998 -74.5996 74.2002 -74.5996h90.5996v-16h-91.4004
c-49.5 0 -89.5996 40.5 -89.5996 90.2002c0 39.5996 25.4004 74.2002 60.5996 86.2998c4.80078 28.4004 29.3008 52 58.9004 52c9.7002 0 18.7002 -2.2998 26.7998 -6.40039c18.6006 39.2002 58.2998 66.3008 104.4 66.3008c64 0 116.8 -52.1006 116.8 -116.4
c0 -1.2002 -0.200195 -2.40039 -0.200195 -3.59961z" />
<glyph glyph-name="uniF334" unicode="&#xf334;"
d="M391.259 244.706l120.741 83.8174v-303.134l-120.712 83.8174v-67.7949c0 -24.9072 -20.4189 -45.1768 -45.5371 -45.1768h-239.857c-24.9072 0 -45.1768 20.2695 -45.1768 45.1768v165.616h-15.1787c-25.1182 0 -45.5381 20.2695 -45.5381 45.1768v60.2656
c0 24.9072 20.4199 45.1768 45.5381 45.1768h44.8145v15.0586c0 24.9072 20.2695 45.1768 45.1768 45.1768h166.882v-30.1182h-166.882c-8.28223 0 -15.0586 -6.74609 -15.0586 -15.0586v-15.0586h225.25c25.1182 0 45.5381 -20.2695 45.5381 -45.1768v-67.7646z
M481.883 82.9443v187.994l-120.712 -83.8477v125.38c0 8.3125 -6.92676 15.0586 -15.4199 15.0586h-300.213c-8.52344 0 -15.4209 -6.74609 -15.4209 -15.0586v-60.2656c0 -8.3125 6.89746 -15.0586 15.4209 -15.0586h45.2969v-195.734
c0 -8.3125 6.77637 -15.0596 15.0586 -15.0596h239.827c8.52344 0 15.4199 6.74707 15.4199 15.0596v125.35z" />
<glyph glyph-name="uniF33A" unicode="&#xf33a;"
d="M416 232v-48c0 -6.66699 -2.33301 -12.333 -7 -17c-4.66992 -4.66699 -10.3369 -7 -17 -7h-304c-6.66699 0 -12.334 2.33301 -17 7c-4.66699 4.66699 -7 10.334 -7 17v48c0 6.66797 2.33301 12.334 7 17c4.66699 4.66699 10.333 7 17 7h304
c6.66699 0 12.333 -2.33301 17 -7s7 -10.333 7 -17z" />
<glyph glyph-name="uniF337" unicode="&#xf337;"
d="M448 192c0 -26 -5.08334 -50.8333 -15.25 -74.5c-10.1669 -23.6667 -23.8335 -44.0834 -41 -61.25c-17.1674 -17.1667 -37.584 -30.8333 -61.25 -41c-23.6667 -10.1667 -48.5 -15.25 -74.5 -15.25c-28.6667 0 -55.9167 6.04167 -81.75 18.125
c-25.8333 12.0833 -47.8333 29.125 -66 51.125c-1.1683 1.66666 -1.70996 3.54166 -1.625 5.625c0.0837402 2.08363 0.792076 3.79196 2.125 5.125l34.25 34.5c1.66667 1.5 3.75 2.25 6.25 2.25c2.66783 -0.333336 4.5845 -1.33334 5.75 -3
c12.1668 -15.8333 27.0835 -28.0833 44.75 -36.75c17.6667 -8.66667 36.4167 -13 56.25 -13c17.3333 0 33.875 3.375 49.625 10.125s29.375 15.875 40.875 27.375s20.625 25.125 27.375 40.875s10.125 32.2917 10.125 49.625s-3.375 33.875 -10.125 49.625
s-15.875 29.375 -27.375 40.875s-25.125 20.625 -40.875 27.375s-32.2917 10.125 -49.625 10.125c-16.3333 0 -32 -2.95834 -47 -8.875s-28.3333 -14.375 -40 -25.375l34.25 -34.5c5.16826 -5 6.33493 -10.75 3.5 -17.25c-2.83333 -6.66667 -7.75 -10 -14.75 -10h-112
c-4.33334 0 -8.08334 1.58333 -11.25 4.75c-3.16667 3.16667 -4.75 6.91667 -4.75 11.25v112c0 7 3.33334 11.9167 10 14.75c6.5 2.8277 12.25 1.66104 17.25 -3.5l32.5 -32.25c17.8333 16.8333 38.2083 29.875 61.125 39.125s46.625 13.875 71.125 13.875
c26 0 50.8333 -5.08334 74.5 -15.25c23.6667 -10.1668 44.0833 -23.8335 61.25 -41c17.1667 -17.1672 30.8333 -37.5839 41 -61.25c10.1667 -23.6667 15.25 -48.5 15.25 -74.5zM288 264v-112c0 -2.33333 -0.75 -4.25 -2.25 -5.75s-3.41666 -2.25 -5.75 -2.25h-80
c-2.33333 0 -4.25 0.75 -5.75 2.25s-2.25 3.41667 -2.25 5.75v16c0 2.33333 0.75 4.25 2.25 5.75s3.41667 2.25 5.75 2.25h56v88c0 2.33334 0.75 4.25 2.25 5.75s3.41666 2.25 5.75 2.25h16c2.33334 0 4.25 -0.75 5.75 -2.25s2.25 -3.41666 2.25 -5.75z" />
</font>
</defs></svg>

BIN
src/main/resources/static/files/assets/pages/jquery.filer/fonts/jquery.filer-icons/jquery-filer.ttf

BIN
src/main/resources/static/files/assets/pages/jquery.filer/fonts/jquery.filer-icons/jquery-filer.woff

8
src/main/resources/static/files/assets/pages/jquery.filer/js/jquery.filer.min.js
File diff suppressed because it is too large
View File

211
src/main/resources/static/files/assets/pages/list-scroll/list-custom.js

@ -0,0 +1,211 @@
/*========= stroll js start ========= */
'use strict';
$(document).ready(function() {
stroll.bind('.scroll-list');
$("#dynamic-list-four-button, #dynamic-list-four-close").on("click", function() {
$("#dynamic-list-four-slider-wrap").toggleClass("open");
});
$("#dynamic-list-five-button").on("click", function() {
$(this)
.toggleClass("open")
.find(".details")
.slideToggle();
});
$("#dynamic-list-six-button").on("click", function() {
$("#dynamic-list-six-list").toggleClass("open");
$(this)
.toggleClass("open")
.find(".details")
.slideToggle();
});
var a = $(".cards").height();
$(".cards").slimScroll({
height: a,
allowPageScroll: false,
color: '#000'
});
var a = $(".wave").height();
$(".wave").slimScroll({
height: a,
allowPageScroll: false,
color: '#000'
});
var a = $(".flip").height();
$(".flip").slimScroll({
height: a,
allowPageScroll: false,
color: '#000'
});
var a = $(".helix").height();
$(".helix").slimScroll({
height: a,
allowPageScroll: false,
color: '#000'
});
var a = $(".fan").height();
$(".fan").slimScroll({
height: a,
allowPageScroll: false,
color: '#000'
});
var a = $(".twirl").height();
$(".twirl").slimScroll({
height: a,
allowPageScroll: false,
color: '#000'
});
});
/*========= stroll js end ========= */
/*========= dynamic list js start ========= */
;
(function(window) {
var
// Is Modernizr defined on the global scope
Modernizr = typeof Modernizr !== "undefined" ? Modernizr : false,
// Always expect both kinds of event
buttonPressedEvent = 'touchstart click',
// List of all animation/transition properties
// with its animationEnd/transitionEnd event
animationEndEventNames = {
'WebkitAnimation': 'webkitAnimationEnd',
'OAnimation': 'oAnimationEnd',
'msAnimation': 'MSAnimationEnd',
'animation': 'animationend'
},
transitionEndEventNames = {
'WebkitTransition': 'webkitTransitionEnd',
'OTransition': 'oTransitionEnd',
'msTransition': 'MSTransitionEnd',
'transition': 'transitionend'
},
Effeckt = function() {
this.init();
};
// Current version.
Effeckt.version = '0.0.1';
// Initialization method
Effeckt.prototype.init = function() {
this.buttonPressedEvent = buttonPressedEvent;
//event trigger after animation/transition end.
this.transitionEndEventName = Modernizr ? transitionEndEventNames[Modernizr.prefixed('transition')] : getTransitionEndEventNames();
this.animationEndEventName = Modernizr ? animationEndEventNames[Modernizr.prefixed('animation')] : getAnimationEndEventNames();
this.transitionAnimationEndEvent = this.animationEndEventName + ' ' + this.transitionEndEventName;
};
Effeckt.prototype.getViewportHeight = function() {
var docElement = document.documentElement,
client = docElement['clientHeight'],
inner = window['innerHeight'];
if (client < inner)
return inner;
else
return client;
};
// Get all the properties for transition/animation end
function getTransitionEndEventNames() {
return _getEndEventNames(transitionEndEventNames);
}
function getAnimationEndEventNames() {
return _getEndEventNames(animationEndEventNames);
}
function _getEndEventNames(obj) {
var events = [];
for (var eventName in obj) {
events.push(obj[eventName]);
}
return events.join(' ');
}
// Creates a Effeckt object.
window.Effeckt = new Effeckt();
})(this);
var EffecktListItems = {
init: function() {
this.bindUIActions();
},
bindUIActions: function() {
var self = this;
$(".effeckt-list-wrap button.add").on(Effeckt.buttonPressedEvent, function() {
self.addListItem(this);
});
$(".effeckt-list-wrap button.remove").on(Effeckt.buttonPressedEvent, function() {
self.removeListItem(this);
});
$("button.remove").hide();
},
addListItem: function(el) {
var insertPoint = $(el).parent().find("li:nth-child(3)");
$(el).parent().find("button.remove").show();
$("<li />", {
'text': "new item",
'class': "new-item"
}).insertAfter(insertPoint);
},
removeListItem: function(el) {
var $parent = $(el).parent(),
self = this;
var elToRemove = $parent.find("li.new-item").last();
elToRemove.on(Effeckt.transitionAnimationEndEvent, function() {
elToRemove.off(Effeckt.transitionAnimationEndEvent);
elToRemove.remove();
});
elToRemove.toggleClass("remove-item new-item");
if (!$parent.find("li.new-item").length) {
$parent.find("button.remove").hide();
}
}
};
EffecktListItems.init();
/*========= dynamic list js end ========*/

248
src/main/resources/static/files/assets/pages/list-scroll/list.css

@ -0,0 +1,248 @@
.card-list-img {
height: 75px;
width: 75px;
border-radius: 5px
}
.basic-list, .list-view-media {
margin-bottom: 30px
}
.basic-list li {
margin-top: 10px;
padding-bottom: 10px;
border-bottom: 1px solid #ccc
}
.basic-list li:last-child {
border: 0;
padding-bottom: 0
}
.basic-list.list-icons li, .basic-list.list-icons-img li {
margin-left: 50px;
position: relative
}
.list-icons i {
left: -64px;
top: 0;
bottom: -1px;
width: 64px;
padding: 8px 0;
float: left;
position: absolute
}
.basic-list p {
margin: 0
}
.list-icons-img img {
left: -60px;
top: 0;
bottom: -1px;
width: 40px;
position: absolute;
border-radius: 5px
}
.list-view li button {
margin-right: 10px;
margin-bottom: 10px
}
.list-view li .user-card {
margin-bottom: 20px
}
.list-view li:last-child .user-card {
margin-bottom: 0
}
.dynamic-row {
margin-bottom: 30px
}
.remove-item {
display: none
}
.scroll-list {
position: relative;
width: 100%;
height: 300px;
margin: 0;
padding: 0;
list-style: none;
-webkit-perspective: 400px;
-moz-perspective: 400px;
-ms-perspective: 400px;
-o-perspective: 400px;
perspective: 400px
}
.scroll-list li {
position: relative;
padding: 15px;
background: #eee;
color: #252525;
font-size: 18px;
z-inddynamic-list: 2;
-webkit-transform: translateZ(0px);
-moz-transform: translateZ(0px);
-ms-transform: translateZ(0px);
-o-transform: translateZ(0px);
transform: translateZ(0px)
}
.scroll-list h6 {
margin: 0
}
.scroll-list li:nth-child(even) {
background: #fff
}
.dynamic-row {
overflow: hidden
}
.dynamic-row li {
padding: 15px
}
.dynamic-list-one .new-item {
background: #0956ff;
color: #fff
}
.dynamic-list-two .new-item {
background: #0956ff;
color: #fff;
max-height: 0;
opacity: 0;
transform: scale(0);
animation: growHeight .2s ease forwards
}
@keyframes growHeight {
to {
max-height: 50px;
opacity: 1;
transform: scale(1)
}
}
.dynamic-list-three ul {
overflow: hidden
}
.dynamic-list-three .new-item {
background: #1abc9c;
color: #fff;
max-height: 0;
opacity: 0;
transform: translatdynamic-list(-300px);
animation: openSpace .2s ease forwards, moveIn .3s .2s ease forwards
}
@keyframes openSpace {
to {
max-height: 50px
}
}
@keyframes moveIn {
to {
opacity: 1;
transform: translatdynamic-list(0)
}
}
.hider {
overflow: hidden
}
.slider-wrap {
width: 200%;
position: relative;
transition: transform .5s linear
}
.slider-wrap.open {
transform: translatdynamic-list(-50.1%)
}
.dynamic-list-five .details {
display: none;
line-height: 1.4;
padding-bottom: 10px
}
#dynamic-list-five-button {
transition: background .2s ease
}
#dynamic-list-five-button.open {
background: #1abc9c;
color: #fff
}
#dynamic-list-five-button.open .title {
font-weight: bold
}
.dynamic-list-six .details {
display: none;
line-height: 1.4;
padding-bottom: 10px
}
#dynamic-list-six-button {
position: relative;
transition: transform .2s ease
}
#dynamic-list-five-button.open h6, #dynamic-list-six-button.open h6 {
color: #fff
}
#dynamic-list-six-button.open {
background: #1abc9c;
color: #fff;
padding: 50px;
transform: translateY(-60px) scale(2.8)
}
#dynamic-list-six-list {
transition: transform .2s ease
}
#dynamic-list-six-list.open {
transform: translateY(-40px) scale(0.4)
}
#dynamic-list-six-list.open .title {
font-weight: bold;
font-size: 120%
}
.close-button {
position: absolute;
top: 10px;
right: 50px;
font-weight: bold;
color: #fff;
font-size: 25px;
line-height: 1;
display: none
}
#dynamic-list-six-button.open .close-button {
display: block
}
.details p {
color: #fff
}

213
src/main/resources/static/files/assets/pages/location/leaflet-mapbox-gl.js

@ -0,0 +1,213 @@
L.MapboxGL = L.Layer.extend({
options: {
updateInterval: 32
},
initialize: function (options) {
L.setOptions(this, options);
if (options.accessToken) {
mapboxgl.accessToken = options.accessToken;
} else {
throw new Error('You should provide a Mapbox GL access token as a token option.');
}
/**
* Create a version of `fn` that only fires once every `time` millseconds.
*
* @param {Function} fn the function to be throttled
* @param {number} time millseconds required between function calls
* @param {*} context the value of `this` with which the function is called
* @returns {Function} debounced function
* @private
*/
var throttle = function (fn, time, context) {
var lock, args, wrapperFn, later;
later = function () {
// reset lock and call if queued
lock = false;
if (args) {
wrapperFn.apply(context, args);
args = false;
}
};
wrapperFn = function () {
if (lock) {
// called too soon, queue to call later
args = arguments;
} else {
// call and lock until later
fn.apply(context, arguments);
setTimeout(later, time);
lock = true;
}
};
return wrapperFn;
};
// setup throttling the update event when panning
this._throttledUpdate = throttle(L.Util.bind(this._update, this), this.options.updateInterval);
},
onAdd: function (map) {
if (!this._glContainer) {
this._initContainer();
}
map._panes.tilePane.appendChild(this._glContainer);
this._initGL();
this._offset = this._map.containerPointToLayerPoint([0, 0]);
// work around https://github.com/mapbox/mapbox-gl-leaflet/issues/47
if (map.options.zoomAnimation) {
L.DomEvent.on(map._proxy, L.DomUtil.TRANSITION_END, this._transitionEnd, this);
}
},
onRemove: function (map) {
if (this._map.options.zoomAnimation) {
L.DomEvent.off(this._map._proxy, L.DomUtil.TRANSITION_END, this._transitionEnd, this);
}
map.getPanes().tilePane.removeChild(this._glContainer);
this._glMap.remove();
this._glMap = null;
},
getEvents: function () {
return {
move: this._throttledUpdate, // sensibly throttle updating while panning
zoomanim: this._animateZoom, // applys the zoom animation to the <canvas>
zoom: this._pinchZoom, // animate every zoom event for smoother pinch-zooming
zoomstart: this._zoomStart, // flag starting a zoom to disable panning
zoomend: this._zoomEnd
};
},
_initContainer: function () {
var container = this._glContainer = L.DomUtil.create('div', 'leaflet-gl-layer');
var size = this._map.getSize();
container.style.width = size.x + 'px';
container.style.height = size.y + 'px';
},
_initGL: function () {
var center = this._map.getCenter();
var options = L.extend({}, this.options, {
container: this._glContainer,
interactive: false,
center: [center.lng, center.lat],
zoom: this._map.getZoom() - 1,
attributionControl: false
});
this._glMap = new mapboxgl.Map(options);
// allow GL base map to pan beyond min/max latitudes
this._glMap.transform.latRange = null;
// treat child <canvas> element like L.ImageOverlay
L.DomUtil.addClass(this._glMap._canvas, 'leaflet-image-layer');
L.DomUtil.addClass(this._glMap._canvas, 'leaflet-zoom-animated');
},
_update: function (e) {
// update the offset so we can correct for it later when we zoom
this._offset = this._map.containerPointToLayerPoint([0, 0]);
if (this._zooming) {
return;
}
var size = this._map.getSize(),
container = this._glContainer,
gl = this._glMap,
topLeft = this._map.containerPointToLayerPoint([0, 0]);
L.DomUtil.setPosition(container, topLeft);
var center = this._map.getCenter();
// gl.setView([center.lat, center.lng], this._map.getZoom() - 1, 0);
// calling setView directly causes sync issues because it uses requestAnimFrame
var tr = gl.transform;
tr.center = mapboxgl.LngLat.convert([center.lng, center.lat]);
tr.zoom = this._map.getZoom() - 1;
if (gl.transform.width !== size.x || gl.transform.height !== size.y) {
container.style.width = size.x + 'px';
container.style.height = size.y + 'px';
if (gl._resize !== null && gl._resize !== undefined){
gl._resize();
} else {
gl.resize();
}
} else {
gl._update();
}
},
// update the map constantly during a pinch zoom
_pinchZoom: function (e) {
this._glMap.jumpTo({
zoom: this._map.getZoom() - 1,
center: this._map.getCenter()
});
},
// borrowed from L.ImageOverlay https://github.com/Leaflet/Leaflet/blob/master/src/layer/ImageOverlay.js#L139-L144
_animateZoom: function (e) {
var scale = this._map.getZoomScale(e.zoom),
offset = this._map._latLngToNewLayerPoint(this._map.getBounds().getNorthWest(), e.zoom, e.center);
L.DomUtil.setTransform(this._glMap._canvas, offset.subtract(this._offset), scale);
},
_zoomStart: function (e) {
this._zooming = true;
},
_zoomEnd: function () {
var scale = this._map.getZoomScale(this._map.getZoom()),
offset = this._map._latLngToNewLayerPoint(this._map.getBounds().getNorthWest(), this._map.getZoom(), this._map.getCenter());
L.DomUtil.setTransform(this._glMap._canvas, offset.subtract(this._offset), scale);
this._zooming = false;
},
_transitionEnd: function (e) {
L.Util.requestAnimFrame(function () {
var zoom = this._map.getZoom(),
center = this._map.getCenter(),
offset = this._map.latLngToContainerPoint(this._map.getBounds().getNorthWest());
// reset the scale and offset
L.DomUtil.setTransform(this._glMap._canvas, offset, 1);
// enable panning once the gl map is ready again
this._glMap.once('moveend', L.Util.bind(function () {
this._zoomEnd();
}, this));
// update the map position
this._glMap.jumpTo({
center: center,
zoom: zoom - 1
});
}, this);
}
});
L.mapboxGL = function (options) {
return new L.MapboxGL(options);
};

127
src/main/resources/static/files/assets/pages/map-api/map-api.js

@ -0,0 +1,127 @@
jQuery(document).ready(function($) {
var map;
var geocoder = new google.maps.Geocoder();
var markers = [];
var iterator = 0;
var berlin = new google.maps.LatLng(52.520816, 13.410186),
stockholm = new google.maps.LatLng(59.32522, 18.07002);
var neighborhoods = [
new google.maps.LatLng(52.511467, 13.447179),
new google.maps.LatLng(52.549061, 13.422975),
new google.maps.LatLng(52.497622, 13.396110),
new google.maps.LatLng(52.517683, 13.394393),
new google.maps.LatLng(52.530843, 13.382721),
new google.maps.LatLng(52.514549, 13.350105),
new google.maps.LatLng(52.534394, 13.340492),
];
function initialize() {
var mapOptions = {
zoom: 12,
center: berlin
};
// Calculate Height
var el = document.getElementById('map-1'),
doc_height =
$(document).height() - 10 -
$(".main-content > .user-info-navbar").outerHeight() -
$(".main-content > .page-title").outerHeight() -
$(".google-map-env .map-toolbar").outerHeight();
// Adjust map height to fit the document contianer
el.style.height = doc_height + 'px';
map = new google.maps.Map(el, mapOptions);
for (var i = 0; i < neighborhoods.length; i++) {
setTimeout(function() {
addMarker();
}, i * 200 + 200);
}
// Stockholm Marker
new google.maps.Marker({
map: map,
position: stockholm,
draggable: true
});
}
function addMarker() {
markers.push(new google.maps.Marker({
position: neighborhoods[iterator],
map: map,
draggable: true,
animation: google.maps.Animation.DROP
}));
iterator++;
}
google.maps.event.addDomListener(window, 'load', initialize);
// Toolbar
$("#go-sthlm").on('click', function(ev) {
ev.preventDefault();
map.panTo(stockholm);
});
$("#go-bln").on('click', function(ev) {
ev.preventDefault();
map.panTo(berlin);
});
$("#map-unzoom").on('click', function(ev) {
ev.preventDefault();
map.setZoom(map.getZoom() - 1);
});
$("#map-resetzoom").on('click', function(ev) {
ev.preventDefault();
map.setZoom(12);
});
$("#map-zoom").on('click', function(ev) {
ev.preventDefault();
map.setZoom(map.getZoom() + 1);
});
$("#address-search").submit(function(ev) {
ev.preventDefault();
var $inp = $(this).find('.form-control'),
address = $inp.val().trim();
if (address.length != 0) {
geocoder.geocode({
'address': address
}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
map.setCenter(results[0].geometry.location);
var marker = new google.maps.Marker({
map: map,
position: results[0].geometry.location,
draggable: true
});
} else {
alert('Geocode was not successful for the following reason: ' + status);
}
});
}
});
});

357
src/main/resources/static/files/assets/pages/menu-search/css/component.css

@ -0,0 +1,357 @@
.morphsearch {
position: relative;
z-index: 10000;
top: 0;
right: 0;
-webkit-transform-origin: 100% 0;
transform-origin: 100% 0;
-webkit-transition-property: min-height, width, top, right;
transition-property: min-height, width, top, right;
-webkit-transition-duration: 0.5s;
transition-duration: 0.5s;
-webkit-transition-timing-function: cubic-bezier(0.7,0,0.3,1);
transition-timing-function: cubic-bezier(0.7,0,0.3,1);
}
.morphsearch.open {
width: 100%;
min-height: 100%;
top: 0px;
right: 0px;
background: #fff;
position: fixed;
}
.morphsearch-form {
width: 100%;
height: 0;
margin: 0 auto;
-webkit-transition-property: width, height, -webkit-transform;
transition-property: width, height, transform;
-webkit-transition-duration: 0.5s;
transition-duration: 0.5s;
-webkit-transition-timing-function: cubic-bezier(0.7,0,0.3,1);
transition-timing-function: cubic-bezier(0.7,0,0.3,1);
}
.morphsearch.open .morphsearch-input,.morphsearch.open .morphsearch-submit,.morphsearch.open .morphsearch-form{
display:block;
}
.morphsearch .morphsearch-form{
transition: all 1000ms;
transform: translateY(0px);
transition: all 1s;
opacity:0;
}
.morphsearch.open .drop{
display:none;
}
.morphsearch.open .morphsearch-form {
opacity:1;
width: 100%;
height: 160px;
-webkit-transform: translate3d(0,0,0);
transform: translate3d(0,0,0);
background: #4680ff;
}
.morphsearch-input {
width: 100%;
height: 100%;
padding: 0 10% 0 190px;
font-weight: 700;
border: none;
background: transparent;
font-size: 1.3em;
color: #fff;
}
.morphsearch-input::-ms-clear { /* remove cross in IE */
display: none;
}
/* animate start*/
.morphsearch.open {
transition: all 1000ms;
transform: translateY(0px);
transition: all 1s;
}
/* animate */
.morphsearch.hideInput .morphsearch-input {
color: transparent;
}
.morphsearch.open .morphsearch-input {
font-size: 7em;
}
/* placeholder */
.morphsearch-input::-webkit-input-placeholder {
color: #bad0ff;
}
.morphsearch-input:-moz-placeholder {
color: #bad0ff;
}
.morphsearch-input::-moz-placeholder {
color: #bad0ff;
}
.morphsearch-input:-ms-input-placeholder {
color: #bad0ff;
}
/* hide placeholder when active in Chrome */
.gn-search:focus::-webkit-input-placeholder {
color: transparent;
}
input[type="search"] { /* reset normalize */
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
.morphsearch-input:focus,
.morphsearch-submit:focus {
outline: none;
}
.morphsearch-submit {
position: absolute;
width: 80px;
height: 80px;
text-indent: 100px;
overflow: hidden;
right: 80px;
top: 50%;
/*background: transparent url(../img/magnifier.svg) no-repeat center center;*/
background: transparent;
background-size: 100%;
border: none;
pointer-events: none;
transform-origin: 50% 50%;
opacity: 0;
-webkit-transform: translate3d(-30px,-50%,0) scale3d(0,0,1);
transform: translate3d(-30px,-50%,0) scale3d(0,0,1);
}
.morphsearch.open .morphsearch-submit {
pointer-events: auto;
opacity: 1;
-webkit-transform: translate3d(-30px,-50%,0) scale3d(1,1,1);
transform: translate3d(-30px,-50%,0) scale3d(1,1,1);
-webkit-transition: opacity 0.3s, -webkit-transform 0.3s;
transition: opacity 0.3s, transform 0.3s;
-webkit-transition-delay: 0.5s;
transition-delay: 0.5s;
}
.morphsearch-close {
width: 36px;
height: 36px;
position: absolute;
right: 1em;
top: 1em;
overflow: hidden;
text-indent: 100%;
cursor: pointer;
pointer-events: none;
opacity: 0;
-webkit-transform: scale3d(0,0,1);
transform: scale3d(0,0,1);
}
.morphsearch.open .morphsearch-close {
opacity: 1;
pointer-events: auto;
-webkit-transform: scale3d(1,1,1);
transform: scale3d(1,1,1);
-webkit-transition: opacity 0.3s, -webkit-transform 0.3s;
transition: opacity 0.3s, transform 0.3s;
-webkit-transition-delay: 0.5s;
transition-delay: 0.5s;
}
.morphsearch-close::before,
.morphsearch-close::after {
content: '';
position: absolute;
width: 2px;
height: 100%;
top: 0;
left: 50%;
border-radius: 3px;
opacity: 0.6;
background: #000;
}
.morphsearch-close:hover.morphsearch-close::before,
.morphsearch-close:hover.morphsearch-close::after {
opacity: 1;
}
.morphsearch-close::before {
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}
.morphsearch-close::after {
-webkit-transform: rotate(-45deg);
transform: rotate(-45deg);
}
.morphsearch-content {
color: #333;
margin-top: 4.5em;
width: 100%;
height: 0;
overflow: hidden;
padding: 0 10.5%;
background: #fff;
position: absolute;
pointer-events: none;
opacity: 0;
}
.morphsearch.open .morphsearch-content {
opacity: 1;
height: auto;
overflow: visible; /* this breaks the transition of the children in FF: https://bugzilla.mozilla.org/show_bug.cgi?id=625289 */
pointer-events: auto;
-webkit-transition: opacity 0.3s 0.5s;
transition: opacity 0.3s 0.5s;
}
.dummy-column {
width: 30%;
padding: 0 0 6em;
float: left;
opacity: 0;
-webkit-transform: translate3d(0,100px,0);
transform: translateY(100px);
-webkit-transition: -webkit-transform 0.5s, opacity 0.5s;
transition: transform 0.5s, opacity 0.5s;
}
.morphsearch.open .dummy-column:first-child {
-webkit-transition-delay: 0.4s;
transition-delay: 0.4s;
}
.morphsearch.open .dummy-column:nth-child(2) {
-webkit-transition-delay: 0.45s;
transition-delay: 0.45s;
}
.morphsearch.open .dummy-column:nth-child(3) {
-webkit-transition-delay: 0.5s;
transition-delay: 0.5s;
}
.morphsearch.open .dummy-column {
opacity: 1;
-webkit-transform: translate3d(0,0,0);
transform: translate3d(0,0,0);
}
.dummy-column:nth-child(2) {
margin: 0 5%;
}
.dummy-column h2 {
font-size: 1em;
letter-spacing: 1px;
text-transform: uppercase;
font-weight: 800;
color: #c2c2c2;
padding: 0.5em 0;
}
.round {
border-radius: 50%;
}
.dummy-media-object {
padding: 0.75em;
display: block;
margin: 0.3em 0;
cursor: pointer;
border-radius: 5px;
background: rgba(118,117,128,0.05);
margin-bottom:2em;
}
.dummy-media-object:hover,
.dummy-media-object:focus {
background: rgba(118,117,128,0.1);
}
.dummy-media-object img {
display: inline-block;
width: 50px;
margin: 0 10px 0 0;
vertical-align: middle;
}
.dummy-media-object h3 {
vertical-align: middle;
font-size: 0.85em;
display: inline-block;
font-weight: 700;
margin: 0 0 0 0;
width: calc(100% - 70px);
color: rgba(145,145,145,0.7);
}
.dummy-media-object:hover h3 {
color:#4680ff;
}
/* Overlay */
.overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0,0,0,0.5);
opacity: 0;
pointer-events: none;
-webkit-transition: opacity 0.5s;
transition: opacity 0.5s;
-webkit-transition-timing-function: cubic-bezier(0.7,0,0.3,1);
transition-timing-function: cubic-bezier(0.7,0,0.3,1);
}
.morphsearch.open ~ .overlay {
opacity: 1;
}
@media screen and (max-width: 53.125em) {
.morphsearch-input {
padding: 0 25% 0 10px;
}
.morphsearch.open .morphsearch-input {
font-size: 2em;
}
.dummy-column {
float: none;
width: auto;
padding: 0 0 2em;
}
.dummy-column:nth-child(2) {
margin: 0;
}
.morphsearch.open .morphsearch-submit {
-webkit-transform: translate3d(0,-50%,0) scale3d(0.5,0.5,1);
transform: translate3d(0,-50%,0) scale3d(0.5,0.5,1);
}
}
@media screen and (max-width: 60.625em) {
.morphsearch {
width: 80%;
top: 10%;
right: 10%;
}
}

141
src/main/resources/static/files/assets/pages/message/message.css

@ -0,0 +1,141 @@
/** =====================
Message css start
========================== **/
.message .card{
border-top:none;
}
.message-label{
float: right;
height: 40px;
width: 40px;
text-align: center;
margin-top: -5px;
line-height: 22px;
border-radius: 100%;
margin-bottom: 0;
}
.unread-msg{
background: #fcffe8;
}
.unread-msg i,.unread-msg h6,.unread-msg span,.unread-msg p{
color: #000 !important;
font-weight: 600;
}
.messages .media .media-body{
padding-top: 6px;
}
.messages-content {
padding: 25px;
border-right: 1px solid #ccc;
padding-bottom:0;
}
.messages-content .media{
margin-bottom: 40px;
}
.messages-content .media .msg-send,.messages-content .media .msg-reply{
padding: 15px;
font-size: 12px;
display: inline-block;
margin-bottom: 10px;
}
.messages-send .form-control{
border-radius:0;
}
.messages-send span{
border-radius:0;
}
.msg-img-h{
width: 50px;
}
.user-box .media-object, .friend-box .media-object {
height: 45px;
width: 45px;
display: inline-block;
}
.media-right {
padding-left: 10px;
}
.friend-box img {
margin-right: 10px;
margin-bottom: 10px;
}
.message-left{
width: 300px;
float: right;
}
.msg-box{
margin: -30px -15px;
}
.msg-send{
background-color: #f3f3f3;
}
.new-msg{
border-right: 0;
}
.msg-ellipsis{
right: 10px;
top: 0;
position: absolute;
span{
margin-top: 10px;
margin-right: 14px;
float: right;
font-size: 26px;
}
}
.msg-nav{
top: 18px;
right: 40px;
position: absolute;
font-size: 24px;
}
.new-msg:focus ~ .input-group-addon {
background-color: #fff;
border-color: #66afe9;
}
.msg-ellipsis.c-pointer .ellipsis {
position: absolute;
right: -13px;
font-size: 26px;
color: transparent;
cursor: pointer;
top: -16px;
padding: 0px 0;
z-index: 99;
height: 40px;
}
.elipsis-box.msg-elipsis-box {
position: absolute;
top:30px;
box-shadow:0 0 5px 1px rgba(0, 0, 0, 0.11);
right: -10px;
}
.msg-ellipsis {
right: 15px;
top: 20px;
position: absolute;
a{
font-size: 15px;
}
}
.elipsis-box:after {
content: '';
height: 13px;
width: 13px;
background: #fff;
position: absolute;
top: -5px;
right: 10px;
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
transform: rotate(45deg);
box-shadow: -3px -3px 11px 1px rgba(170, 170, 170, 0.22);
}
/*====== Message css End ======*/

50
src/main/resources/static/files/assets/pages/message/message.js

@ -0,0 +1,50 @@
'use strict';
$(document).ready(function() {
/*display icon*/
function setHeight() {
var $window = $(window);
if ($window.width() >= 991) {
$('.contact-btn').css('display', 'none');
$('.contact-box').addClass("contact-show");
}
else if($window.width() <= 768){
$('.contact-btn').css('display', 'block');
$('.contact-box').addClass("contact-hide");
$('.contact-box').css('top', '100px');
}
else if($window.width() > 768 && $window.width() <= 990){
$('.contact-btn').css('display', 'block');
$('.contact-box').addClass("contact-hide");
$('.contact-box').css('top', '50px');
}
else{
$('.contact-btn').css('display', 'block');
$('.contact-box').addClass("contact-hide");
}
};
$(window).on('resize',function() {
setHeight();
});
setHeight();
/*Click on contact button icon*/
$(".contact-btn").on('click',function() {
if($('.contact-box').hasClass("contact-show") == true){
$('.contact-box').removeClass("contact-show");
$('.contact-box').addClass("contact-hide");
}
else{
$('.contact-box').removeClass("contact-hide");
$('.contact-box').addClass("contact-show");
}
});
});

1
src/main/resources/static/files/assets/pages/multi-step-sign-up/css/reset.min.css

@ -0,0 +1 @@
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}table{border-collapse:collapse;border-spacing:0}

142
src/main/resources/static/files/assets/pages/multi-step-sign-up/css/style.css

@ -0,0 +1,142 @@
html {
height: 100%;
}
body {
font-family: 'Source Sans Pro', sans-serif;
font-size: 14px;
}
/* Form styles */
#msform {
width: 400px;
margin: 50px auto;
text-align: center;
position: relative;
}
#msform fieldset {
background: #fff;
border: 0 none;
border-radius: 5px;
box-shadow: 0 0 30px 1px rgba(0, 0, 0, 0.1);
padding: 20px;
box-sizing: border-box;
width: 80%;
margin: 0 auto;
left:0%;
right: 0%;
position: relative;
}
/* Hide all except first fieldset */
#msform fieldset:not(:first-of-type) {
display: none;
}
img.logo {
max-width: 120px;
margin-bottom: 20px;
}
#msform p {
color: #8b9ab0;
font-size: 12px;
}
/* Inputs */
/* Buttons */
#msform .action-button {
width: 49%;
text-transform: uppercase;
background: #e74c3c;
font-weight: bold;
color: white;
border: 1px solid transparent;
border-radius: 3px;
cursor: pointer;
padding: 12px 5px;
margin: 10px 0;
font-size: 16px;
display: inline-block;
-webkit-transition: all 0.2s;
-moz-transition: all 0.2s;
transition: all 0.2s;
}
#msform .previous.action-button {
background: #fff;
border: 1px solid #7bbdf3;
color: #7bbdf3;
}
/* Headings */
.fs-title {
font-size: 26px;
font-weight: 200;
color: #434a54;
margin-bottom: 20px;
}
.fs-subtitle {
font-weight: 400;
color: #434a54;
margin-bottom: 20px;
line-height: 1.4
}
#msform #progressbar li{
font-size: 13px;
text-transform: capitalize;
}
/* Progressbar */
#progressbar {
margin-bottom: 30px;
overflow: hidden;
/*CSS counters to number the steps*/
counter-reset: step;
}
#progressbar li {
list-style-type: none;
color: #8b9ab0;
text-transform: uppercase;
font-size: 9px;
width: 33.33%;
float: left;
position: relative;
}
#progressbar li.active {
color: #e74c3c;
}
#progressbar li:before {
content: counter(step);
counter-increment: step;
width: 20px;
line-height: 20px;
display: block;
font-size: 10px;
color: #333;
background: white;
border-radius: 3em;
margin: 0 auto 5px auto;
}
/* Progressbar connectors */
#progressbar li:after {
content: '';
width: 100%;
height: 2px;
background: white;
position: absolute;
left: -50%;
top: 9px;
z-index: -1;
}
#progressbar li:first-child:after {
/* connector not needed before the first step */
content: none;
}
/* Marking active/completed steps green */
/*The number of the step and the connector before it = green*/
#progressbar li.active:before, #progressbar li.active:after{
background: #e74c3c;
color: white;
}

82
src/main/resources/static/files/assets/pages/multi-step-sign-up/js/main.js

@ -0,0 +1,82 @@
//jQuery time
var current_fs, next_fs, previous_fs; //fieldsets
var left, opacity, scale; //fieldset properties which we will animate
var animating; //flag to prevent quick multi-click glitches
$(".next").on('click',function(){
if(animating) return false;
animating = true;
current_fs = $(this).parent();
next_fs = $(this).parent().next();
//activate next step on progressbar using the index of next_fs
$("#progressbar li").eq($("fieldset").index(next_fs)).addClass("active");
//show the next fieldset
next_fs.show();
//hide the current fieldset with style
current_fs.animate({opacity: 0}, {
step: function(now, mx) {
//as the opacity of current_fs reduces to 0 - stored in "now"
//1. scale current_fs down to 80%
scale = 1 - (1 - now) * 0.2;
//2. bring next_fs from the right(50%)
left = (now * 50)+"%";
//3. increase opacity of next_fs to 1 as it moves in
opacity = 1 - now;
current_fs.css({
'transform': 'scale('+scale+')',
'position': 'absolute'
});
next_fs.css({'left': left, 'opacity': opacity});
},
duration: 800,
complete: function(){
current_fs.hide();
animating = false;
},
//this comes from the custom easing plugin
easing: 'easeInOutBack'
});
});
$(".previous").on('click',function(){
if(animating) return false;
animating = true;
current_fs = $(this).parent();
previous_fs = $(this).parent().prev();
//de-activate current step on progressbar
$("#progressbar li").eq($("fieldset").index(current_fs)).removeClass("active");
//show the previous fieldset
previous_fs.show();
//hide the current fieldset with style
current_fs.animate({opacity: 0}, {
step: function(now, mx) {
//as the opacity of current_fs reduces to 0 - stored in "now"
//1. scale previous_fs from 80% to 100%
scale = 0.8 + (1 - now) * 0.2;
//2. take current_fs to the right(50%) - from 0%
left = ((1-now) * 50)+"%";
//3. increase opacity of previous_fs to 1 as it moves in
opacity = 1 - now;
current_fs.css({'left': left});
previous_fs.css({'transform': 'scale('+scale+')', 'opacity': opacity});
},
duration: 800,
complete: function(){
current_fs.hide();
animating = false;
},
//this comes from the custom easing plugin
easing: 'easeInOutBack'
});
});
$(".submit").on('click',function(){
return false;
})

51
src/main/resources/static/files/assets/pages/nestable/custom-nestable.js

@ -0,0 +1,51 @@
'use strict';
$(document).ready(function() {
var updateOutput = function(e) {
var list = e.length ? e : $(e.target),
output = list.data('output');
if (window.JSON) {
output.val(window.JSON.stringify(list.nestable('serialize'))); //, null, 2));
} else {
output.val('JSON browser support required for this demo.');
}
};
// activate Nestable for list 1
$('#nestable').nestable({
group: 1
})
.on('change', updateOutput);
// activate Nestable for list 2
$('#nestable2').nestable({
group: 1
})
.on('change', updateOutput);
// activate Nestable for list 2
$('#color-nestable').nestable({
group: 1
})
.on('change', updateOutput);
// output initial serialised data
updateOutput($('#nestable').data('output', $('#nestable-output')));
updateOutput($('#nestable2').data('output', $('#nestable2-output')));
updateOutput($('#color-nestable').data('output', $('#color-nestable-output')));
$('#nestable-menu').on('click', function(e) {
var target = $(e.target),
action = target.data('action');
if (action === 'expand-all') {
$('.dd').nestable('expandAll');
}
if (action === 'collapse-all') {
$('.dd').nestable('collapseAll');
}
});
$('#nestable3').nestable();
});

484
src/main/resources/static/files/assets/pages/nestable/jquery.nestable.js

@ -0,0 +1,484 @@
/*!
* Nestable jQuery Plugin - Copyright (c) 2012 David Bushell - http://dbushell.com/
* Dual-licensed under the BSD or MIT licenses
*/
;(function($, window, document, undefined)
{
var hasTouch = 'ontouchstart' in document;
/**
* Detect CSS pointer-events property
* events are normally disabled on the dragging element to avoid conflicts
* https://github.com/ausi/Feature-detection-technique-for-pointer-events/blob/master/modernizr-pointerevents.js
*/
var hasPointerEvents = (function()
{
var el = document.createElement('div'),
docEl = document.documentElement;
if (!('pointerEvents' in el.style)) {
return false;
}
el.style.pointerEvents = 'auto';
el.style.pointerEvents = 'x';
docEl.appendChild(el);
var supports = window.getComputedStyle && window.getComputedStyle(el, '').pointerEvents === 'auto';
docEl.removeChild(el);
return !!supports;
})();
var defaults = {
listNodeName : 'ol',
itemNodeName : 'li',
rootClass : 'dd',
listClass : 'dd-list',
itemClass : 'dd-item',
dragClass : 'dd-dragel',
handleClass : 'dd-handle',
collapsedClass : 'dd-collapsed',
placeClass : 'dd-placeholder',
noDragClass : 'dd-nodrag',
emptyClass : 'dd-empty',
expandBtnHTML : '<button data-action="expand" type="button">Expand</button>',
collapseBtnHTML : '<button data-action="collapse" type="button">Collapse</button>',
group : 0,
maxDepth : 5,
threshold : 20
};
function Plugin(element, options)
{
this.w = $(document);
this.el = $(element);
this.options = $.extend({}, defaults, options);
this.init();
}
Plugin.prototype = {
init: function()
{
var list = this;
list.reset();
list.el.data('nestable-group', this.options.group);
list.placeEl = $('<div class="' + list.options.placeClass + '"/>');
$.each(this.el.find(list.options.itemNodeName), function(k, el) {
list.setParent($(el));
});
list.el.on('click', 'button', function(e) {
if (list.dragEl) {
return;
}
var target = $(e.currentTarget),
action = target.data('action'),
item = target.parent(list.options.itemNodeName);
if (action === 'collapse') {
list.collapseItem(item);
}
if (action === 'expand') {
list.expandItem(item);
}
});
var onStartEvent = function(e)
{
var handle = $(e.target);
if (!handle.hasClass(list.options.handleClass)) {
if (handle.closest('.' + list.options.noDragClass).length) {
return;
}
handle = handle.closest('.' + list.options.handleClass);
}
if (!handle.length || list.dragEl) {
return;
}
list.isTouch = /^touch/.test(e.type);
if (list.isTouch && e.touches.length !== 1) {
return;
}
e.preventDefault();
list.dragStart(e.touches ? e.touches[0] : e);
};
var onMoveEvent = function(e)
{
if (list.dragEl) {
e.preventDefault();
list.dragMove(e.touches ? e.touches[0] : e);
}
};
var onEndEvent = function(e)
{
if (list.dragEl) {
e.preventDefault();
list.dragStop(e.touches ? e.touches[0] : e);
}
};
if (hasTouch) {
list.el[0].addEventListener('touchstart', onStartEvent, false);
window.addEventListener('touchmove', onMoveEvent, false);
window.addEventListener('touchend', onEndEvent, false);
window.addEventListener('touchcancel', onEndEvent, false);
}
list.el.on('mousedown', onStartEvent);
list.w.on('mousemove', onMoveEvent);
list.w.on('mouseup', onEndEvent);
},
serialize: function()
{
var data,
depth = 0,
list = this;
step = function(level, depth)
{
var array = [ ],
items = level.children(list.options.itemNodeName);
items.each(function()
{
var li = $(this),
item = $.extend({}, li.data()),
sub = li.children(list.options.listNodeName);
if (sub.length) {
item.children = step(sub, depth + 1);
}
array.push(item);
});
return array;
};
data = step(list.el.find(list.options.listNodeName).first(), depth);
return data;
},
serialise: function()
{
return this.serialize();
},
reset: function()
{
this.mouse = {
offsetX : 0,
offsetY : 0,
startX : 0,
startY : 0,
lastX : 0,
lastY : 0,
nowX : 0,
nowY : 0,
distX : 0,
distY : 0,
dirAx : 0,
dirX : 0,
dirY : 0,
lastDirX : 0,
lastDirY : 0,
distAxX : 0,
distAxY : 0
};
this.isTouch = false;
this.moving = false;
this.dragEl = null;
this.dragRootEl = null;
this.dragDepth = 0;
this.hasNewRoot = false;
this.pointEl = null;
},
expandItem: function(li)
{
li.removeClass(this.options.collapsedClass);
li.children('[data-action="expand"]').hide();
li.children('[data-action="collapse"]').show();
li.children(this.options.listNodeName).show();
},
collapseItem: function(li)
{
var lists = li.children(this.options.listNodeName);
if (lists.length) {
li.addClass(this.options.collapsedClass);
li.children('[data-action="collapse"]').hide();
li.children('[data-action="expand"]').show();
li.children(this.options.listNodeName).hide();
}
},
expandAll: function()
{
var list = this;
list.el.find(list.options.itemNodeName).each(function() {
list.expandItem($(this));
});
},
collapseAll: function()
{
var list = this;
list.el.find(list.options.itemNodeName).each(function() {
list.collapseItem($(this));
});
},
setParent: function(li)
{
if (li.children(this.options.listNodeName).length) {
li.prepend($(this.options.expandBtnHTML));
li.prepend($(this.options.collapseBtnHTML));
}
li.children('[data-action="expand"]').hide();
},
unsetParent: function(li)
{
li.removeClass(this.options.collapsedClass);
li.children('[data-action]').remove();
li.children(this.options.listNodeName).remove();
},
dragStart: function(e)
{
var mouse = this.mouse,
target = $(e.target),
dragItem = target.closest(this.options.itemNodeName);
this.placeEl.css('height', dragItem.height());
mouse.offsetX = e.offsetX !== undefined ? e.offsetX : e.pageX - target.offset().left;
mouse.offsetY = e.offsetY !== undefined ? e.offsetY : e.pageY - target.offset().top;
mouse.startX = mouse.lastX = e.pageX;
mouse.startY = mouse.lastY = e.pageY;
this.dragRootEl = this.el;
this.dragEl = $(document.createElement(this.options.listNodeName)).addClass(this.options.listClass + ' ' + this.options.dragClass);
this.dragEl.css('width', dragItem.width());
dragItem.after(this.placeEl);
dragItem[0].parentNode.removeChild(dragItem[0]);
dragItem.appendTo(this.dragEl);
$(document.body).append(this.dragEl);
this.dragEl.css({
'left' : e.pageX - mouse.offsetX,
'top' : e.pageY - mouse.offsetY
});
// total depth of dragging item
var i, depth,
items = this.dragEl.find(this.options.itemNodeName);
for (i = 0; i < items.length; i++) {
depth = $(items[i]).parents(this.options.listNodeName).length;
if (depth > this.dragDepth) {
this.dragDepth = depth;
}
}
},
dragStop: function(e)
{
var el = this.dragEl.children(this.options.itemNodeName).first();
el[0].parentNode.removeChild(el[0]);
this.placeEl.replaceWith(el);
this.dragEl.remove();
this.el.trigger('change');
if (this.hasNewRoot) {
this.dragRootEl.trigger('change');
}
this.reset();
},
dragMove: function(e)
{
var list, parent, prev, next, depth,
opt = this.options,
mouse = this.mouse;
this.dragEl.css({
'left' : e.pageX - mouse.offsetX,
'top' : e.pageY - mouse.offsetY
});
// mouse position last events
mouse.lastX = mouse.nowX;
mouse.lastY = mouse.nowY;
// mouse position this events
mouse.nowX = e.pageX;
mouse.nowY = e.pageY;
// distance mouse moved between events
mouse.distX = mouse.nowX - mouse.lastX;
mouse.distY = mouse.nowY - mouse.lastY;
// direction mouse was moving
mouse.lastDirX = mouse.dirX;
mouse.lastDirY = mouse.dirY;
// direction mouse is now moving (on both axis)
mouse.dirX = mouse.distX === 0 ? 0 : mouse.distX > 0 ? 1 : -1;
mouse.dirY = mouse.distY === 0 ? 0 : mouse.distY > 0 ? 1 : -1;
// axis mouse is now moving on
var newAx = Math.abs(mouse.distX) > Math.abs(mouse.distY) ? 1 : 0;
// do nothing on first move
if (!mouse.moving) {
mouse.dirAx = newAx;
mouse.moving = true;
return;
}
// calc distance moved on this axis (and direction)
if (mouse.dirAx !== newAx) {
mouse.distAxX = 0;
mouse.distAxY = 0;
} else {
mouse.distAxX += Math.abs(mouse.distX);
if (mouse.dirX !== 0 && mouse.dirX !== mouse.lastDirX) {
mouse.distAxX = 0;
}
mouse.distAxY += Math.abs(mouse.distY);
if (mouse.dirY !== 0 && mouse.dirY !== mouse.lastDirY) {
mouse.distAxY = 0;
}
}
mouse.dirAx = newAx;
/**
* move horizontal
*/
if (mouse.dirAx && mouse.distAxX >= opt.threshold) {
// reset move distance on x-axis for new phase
mouse.distAxX = 0;
prev = this.placeEl.prev(opt.itemNodeName);
// increase horizontal level if previous sibling exists and is not collapsed
if (mouse.distX > 0 && prev.length && !prev.hasClass(opt.collapsedClass)) {
// cannot increase level when item above is collapsed
list = prev.find(opt.listNodeName).last();
// check if depth limit has reached
depth = this.placeEl.parents(opt.listNodeName).length;
if (depth + this.dragDepth <= opt.maxDepth) {
// create new sub-level if one doesn't exist
if (!list.length) {
list = $('<' + opt.listNodeName + '/>').addClass(opt.listClass);
list.append(this.placeEl);
prev.append(list);
this.setParent(prev);
} else {
// else append to next level up
list = prev.children(opt.listNodeName).last();
list.append(this.placeEl);
}
}
}
// decrease horizontal level
if (mouse.distX < 0) {
// we can't decrease a level if an item preceeds the current one
next = this.placeEl.next(opt.itemNodeName);
if (!next.length) {
parent = this.placeEl.parent();
this.placeEl.closest(opt.itemNodeName).after(this.placeEl);
if (!parent.children().length) {
this.unsetParent(parent.parent());
}
}
}
}
var isEmpty = false;
// find list item under cursor
if (!hasPointerEvents) {
this.dragEl[0].style.visibility = 'hidden';
}
this.pointEl = $(document.elementFromPoint(e.pageX - document.body.scrollLeft, e.pageY - (window.pageYOffset || document.documentElement.scrollTop)));
if (!hasPointerEvents) {
this.dragEl[0].style.visibility = 'visible';
}
if (this.pointEl.hasClass(opt.handleClass)) {
this.pointEl = this.pointEl.parent(opt.itemNodeName);
}
if (this.pointEl.hasClass(opt.emptyClass)) {
isEmpty = true;
}
else if (!this.pointEl.length || !this.pointEl.hasClass(opt.itemClass)) {
return;
}
// find parent list of item under cursor
var pointElRoot = this.pointEl.closest('.' + opt.rootClass),
isNewRoot = this.dragRootEl.data('nestable-id') !== pointElRoot.data('nestable-id');
/**
* move vertical
*/
if (!mouse.dirAx || isNewRoot || isEmpty) {
// check if groups match if dragging over new root
if (isNewRoot && opt.group !== pointElRoot.data('nestable-group')) {
return;
}
// check depth limit
depth = this.dragDepth - 1 + this.pointEl.parents(opt.listNodeName).length;
if (depth > opt.maxDepth) {
return;
}
var before = e.pageY < (this.pointEl.offset().top + this.pointEl.height() / 2);
parent = this.placeEl.parent();
// if empty create new list to replace empty placeholder
if (isEmpty) {
list = $(document.createElement(opt.listNodeName)).addClass(opt.listClass);
list.append(this.placeEl);
this.pointEl.replaceWith(list);
}
else if (before) {
this.pointEl.before(this.placeEl);
}
else {
this.pointEl.after(this.placeEl);
}
if (!parent.children().length) {
this.unsetParent(parent.parent());
}
if (!this.dragRootEl.find(opt.itemNodeName).length) {
this.dragRootEl.append('<div class="' + opt.emptyClass + '"/>');
}
// parent root list has changed
if (isNewRoot) {
this.dragRootEl = pointElRoot;
this.hasNewRoot = this.el[0] !== this.dragRootEl[0];
}
}
}
};
$.fn.nestable = function(params)
{
var lists = this,
retval = this;
lists.each(function()
{
var plugin = $(this).data("nestable");
if (!plugin) {
$(this).data("nestable", new Plugin(this, params));
$(this).data("nestable-id", new Date().getTime());
} else {
if (typeof params === 'string' && typeof plugin[params] === 'function') {
retval = plugin[params]();
}
}
});
return retval || lists;
};
})(window.jQuery || window.Zepto, window, document);

112
src/main/resources/static/files/assets/pages/nestable/nestable.css

@ -0,0 +1,112 @@
.cf:after { visibility: hidden; display: block; font-size: 0; content: " "; clear: both; height: 0; }
* html .cf { zoom: 1; }
*:first-child+html .cf { zoom: 1; }
a { color: #2996cc; }
a:hover { text-decoration: none; }
p { line-height: 1.5em; }
.small { color: #666; font-size: 0.875em; }
.large { font-size: 1.25em; }
/**
* Nestable
*/
.dd { position: relative; display: block; margin: 0; padding: 0; max-width: 600px; list-style: none; font-size: 13px; line-height: 20px; }
.dd-list { display: block; position: relative; margin: 0; padding: 0; list-style: none; }
.dd-list .dd-list { padding-left: 30px; }
.dd-collapsed .dd-list { display: none; }
.dd-item,
.dd-empty,
.dd-placeholder { display: block; position: relative; margin: 0; padding: 0; min-height: 20px; font-size: 13px; line-height: 20px; }
.dd-handle { display: block;cursor: move; height: 30px; margin: 10px 0; padding: 5px 10px; color: #333; text-decoration: none; font-weight: bold; border: 1px solid #ccc;transition:all ease-in 0.3s;
-webkit-border-radius: 3px;
border-radius: 3px;
box-sizing: border-box; -moz-box-sizing: border-box;
}
.dd-handle:hover { color: #1ABC9C; background: #fff; }
.dd-item > button { display: block; position: relative; cursor: pointer; float: left; width: 25px; height: 20px; margin: 5px 0; padding: 0; text-indent: 100%; white-space: nowrap; overflow: hidden; border: 0; background: transparent; font-size: 12px; line-height: 1; text-align: center; font-weight: bold; outline: none;}
.dd-item > button:before { content: '+'; display: block; position: absolute; width: 100%; text-align: center; text-indent: 0; }
.dd-item > button[data-action="collapse"]:before { content: '-'; }
.dd-placeholder,
.dd-empty { margin: 5px 0; padding: 0; min-height: 30px; background: #f2fbff; border: 1px dashed #b6bcbf; box-sizing: border-box; -moz-box-sizing: border-box; }
.dd-empty { border: 1px dashed #bbb; min-height: 100px; background-color: #e5e5e5;
background-image: -webkit-linear-gradient(45deg, #fff 25%, transparent 25%, transparent 75%, #fff 75%, #fff),
-webkit-linear-gradient(45deg, #fff 25%, transparent 25%, transparent 75%, #fff 75%, #fff);
background-image: -moz-linear-gradient(45deg, #fff 25%, transparent 25%, transparent 75%, #fff 75%, #fff),
-moz-linear-gradient(45deg, #fff 25%, transparent 25%, transparent 75%, #fff 75%, #fff);
background-image: linear-gradient(45deg, #fff 25%, transparent 25%, transparent 75%, #fff 75%, #fff),
linear-gradient(45deg, #fff 25%, transparent 25%, transparent 75%, #fff 75%, #fff);
background-size: 60px 60px;
background-position: 0 0, 30px 30px;
}
.dd-dragel { position: absolute; pointer-events: none; z-index: 9999; }
.dd-dragel > .dd-item .dd-handle { margin-top: 0; }
.dd-dragel .dd-handle {
-webkit-box-shadow: 2px 4px 6px 0 rgba(0,0,0,.1);
box-shadow: 2px 4px 6px 0 rgba(0,0,0,.1);
}
/**
* Nestable Extras
*/
.nestable-lists { display: block; clear: both; width: 100%; border: 0;}
#nestable-output,
#nestable2-output { width: 100%; height: 7em; font-size: 0.75em; line-height: 1.333333em; font-family: Consolas, monospace; padding: 5px; box-sizing: border-box; -moz-box-sizing: border-box; }
#nestable2 .dd-handle {
color: #fff;
border: 1px solid #2C3E50;
background: #2C3E50;
}
#nestable2 .dd-item > button:before { color: #000; }
@media only screen and (min-width: 700px) {
.dd { float: left; width: 100%; }
.dd + .dd { margin-left: 2%; }
}
.dd-hover > .dd-handle { background: #2ea8e5 !important; }
/**
* Nestable Draggable Handles
*/
.dd3-content { display: block; height: 30px; margin: 10px 0; padding: 5px 10px 5px 40px; color: #333; text-decoration: none; font-weight: bold; border: 1px solid #ccc;
background: #fff;
-webkit-border-radius: 3px;
border-radius: 3px;
box-sizing: border-box; -moz-box-sizing: border-box;
}
.dd3-content:hover { color: #2ea8e5; background: #fff; }
.dd-dragel > .dd3-item > .dd3-content { margin: 0; }
.dd3-item > button { margin-left: 30px; outline: none;}
.dd3-handle { position: absolute; margin: 0; left: 0; top: 0; cursor: pointer; width: 30px; text-indent: 100%; white-space: nowrap; overflow: hidden;
border: 1px solid #aaa;
background: #ddd;
background: -webkit-linear-gradient(top, #ddd 0%, #bbb 100%);
background: -moz-linear-gradient(top, #ddd 0%, #bbb 100%);
background: linear-gradient(top, #ddd 0%, #bbb 100%);
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
.dd3-handle:before { content: '≡'; display: block; position: absolute; left: 0; top: 3px; width: 100%; text-align: center; text-indent: 0; color: #fff; font-size: 20px; font-weight: normal; }
.dd3-handle:hover { background: #ddd; }

170
src/main/resources/static/files/assets/pages/notification/notification.css

@ -0,0 +1,170 @@
.alert {
padding: 15px;
margin-bottom: 18px;
border: 1px solid transparent;
border-radius: 2px;
}
.alert h4 {
margin-top: 0;
color: inherit;
}
.alert .alert-link {
font-weight: bold;
}
.alert > p,
.alert > ul {
margin-bottom: 0;
}
.alert > p + p {
margin-top: 5px;
}
.alert-dismissable,
.alert-dismissible {
padding-right: 35px;
}
.alert-dismissable .close,
.alert-dismissible .close {
position: relative;
top: -2px;
right: -21px;
color: inherit;
}
/* .alert-success {
background-color: #4caf50;
border-color: transparent;
color: #ffffff;
} */
.alert-success hr {
border-top-color: rgba(0, 0, 0, 0);
}
.alert-success .alert-link {
color: #e6e6e6;
}
/* .alert-info {
background-color: #2196f3;
border-color: transparent;
color: #ffffff;
} */
.alert-info hr {
border-top-color: rgba(0, 0, 0, 0);
}
.alert-info .alert-link {
color: #e6e6e6;
}
/* .alert-warning {
background-color: #ffc107;
border-color: transparent;
color: #ffffff;
} */
.alert-warning hr {
border-top-color: rgba(0, 0, 0, 0);
}
.alert-warning .alert-link {
color: #e6e6e6;
}
/*
.alert-danger {
background-color: #f44336;
border-color: transparent;
color: #ffffff;
} */
.alert-danger hr {
border-top-color: rgba(0, 0, 0, 0);
}
.alert-danger .alert-link {
color: #e6e6e6;
}
@-webkit-keyframes progress-bar-stripes {
from {
background-position: 40px 0;
}
to {
background-position: 0 0;
}
}
@keyframes progress-bar-stripes {
from {
background-position: 40px 0;
}
to {
background-position: 0 0;
}
}
.alert {
padding-left: 30px;
font-size: 13px;
}
.alert span {
cursor: pointer;
}
.alert:not(.alert-dismissible) {
padding-right: 30px;
}
.alert.alert-dismissable {
padding-right: 44px;
}
.alert-inverse {
background-color: #333333;
border-color: transparent;
color: #ffffff;
}
.alert-inverse hr {
border-top-color: rgba(0, 0, 0, 0);
}
.alert-inverse .alert-link {
color: #e6e6e6;
}
.growl-animated.alert-inverse {
box-shadow: 0 0 5px rgba(51, 51, 51, 0.5);
}
.growl-animated.alert-info {
box-shadow: 0 0 5px rgba(33, 150, 243, 0.5);
}
.growl-animated.alert-success {
box-shadow: 0 0 5px rgba(76, 175, 80, 0.5);
}
.growl-animated.alert-warning {
box-shadow: 0 0 5px rgba(255, 193, 7, 0.5);
}
.growl-animated.alert-danger {
box-shadow: 0 0 5px rgba(244, 67, 54, 0.5);
}
.alert-link {
color: #fff !important;
}

96
src/main/resources/static/files/assets/pages/notification/notification.js

@ -0,0 +1,96 @@
'use strict';
$(window).on('load',function(){
//Welcome Message (not for login page)
function notify(message, type){
$.growl({
message: message
},{
type: type,
allow_dismiss: false,
label: 'Cancel',
className: 'btn-xs btn-inverse',
placement: {
from: 'bottom',
align: 'right'
},
delay: 2500,
animate: {
enter: 'animated fadeInRight',
exit: 'animated fadeOutRight'
},
offset: {
x: 30,
y: 30
}
});
};
notify('Welcome to Notification page', 'inverse');
});
$(document).ready(function() {
/*--------------------------------------
Notifications & Dialogs
---------------------------------------*/
/*
* Notifications
*/
function notify(from, align, icon, type, animIn, animOut){
$.growl({
icon: icon,
title: ' Bootstrap Growl ',
message: 'Turning standard Bootstrap alerts into awesome notifications',
url: ''
},{
element: 'body',
type: type,
allow_dismiss: true,
placement: {
from: from,
align: align
},
offset: {
x: 30,
y: 30
},
spacing: 10,
z_index: 999999,
delay: 2500,
timer: 1000,
url_target: '_blank',
mouse_over: false,
animate: {
enter: animIn,
exit: animOut
},
icon_type: 'class',
template: '<div data-growl="container" class="alert" role="alert">' +
'<button type="button" class="close" data-growl="dismiss">' +
'<span aria-hidden="true">&times;</span>' +
'<span class="sr-only">Close</span>' +
'</button>' +
'<span data-growl="icon"></span>' +
'<span data-growl="title"></span>' +
'<span data-growl="message"></span>' +
'<a href="#" data-growl="url"></a>' +
'</div>'
});
};
$('.notifications .btn').on('click',function(e){
e.preventDefault();
var nFrom = $(this).attr('data-from');
var nAlign = $(this).attr('data-align');
var nIcons = $(this).attr('data-icon');
var nType = $(this).attr('data-type');
var nAnimIn = $(this).attr('data-animation-in');
var nAnimOut = $(this).attr('data-animation-out');
notify(nFrom, nAlign, nIcons, nType, nAnimIn, nAnimOut);
});
});

65
src/main/resources/static/files/assets/pages/offline/offline-custom.js

@ -0,0 +1,65 @@
"use strict";
$(document).ready(function($) {
$(".browser iframe").each(function() {
var a=$(this).data("theme");
var doc=(this.contentWindow||this.documentWindow).document;
doc.open(), doc.write('<link rel="stylesheet" href="../files/bower_components/offline/css/offline-theme-'+a+'.css" /><link rel="stylesheet" href="../files/bower_components/offline/css/offline-language-english'+(a.match(/\-indicator$/)?"-indicator": "")+'.css" /><div data-phase="0" class="offline-ui offline-ui-down offline-ui-down-5s"><div class="offline-ui-content"></div><a class="offline-ui-retry"></a></div>'), doc.close()
}
);
var a=[[5,
"offline-ui offline-ui-down offline-ui-down-5s",
"",
""],
[3,
"offline-ui offline-ui-down offline-ui-connecting offline-ui-waiting",
"5 seconds",
"5s"],
[1,
"offline-ui offline-ui-down offline-ui-connecting offline-ui-waiting",
"4 seconds",
"4s"],
[1,
"offline-ui offline-ui-down offline-ui-connecting offline-ui-waiting",
"3 seconds",
"3s"],
[1,
"offline-ui offline-ui-down offline-ui-connecting offline-ui-waiting",
"2 seconds",
"2s"],
[1,
"offline-ui offline-ui-down offline-ui-connecting offline-ui-waiting",
"1 seconds",
"1s"],
[1,
"offline-ui offline-ui-up offline-ui-up-5s",
"",
""]],
b=function() {
var c;
$(".browser iframe").each(function() {
var b=$(this).contents().find(".offline-ui"), d=b.find(".offline-ui-content");
c=parseInt(b.attr("data-phase"), 10), b.get(0).className=a[c][1], d.attr("data-retry-in", a[c][2]), d.attr("data-retry-in-abbr", a[c][3]), c=(c+1)%a.length, b.attr("data-phase", c)
}
),
setTimeout(function() {
b()
}
,
1e3*a[c][0])
}
;
b(),
Offline.check();
var c=$(".avatar-online"),
d=$(".avatar-off");
Offline.on("confirmed-down",
function() {
c.removeClass(".avatar-online").addClass("avatar-off")
}
),
Offline.on("confirmed-up",
function() {
d.removeClass(".avatar-off").addClass("avatar-online")
}
)
});

2495
src/main/resources/static/files/assets/pages/payment-card/card.js
File diff suppressed because it is too large
View File

58
src/main/resources/static/files/assets/pages/payment-card/e-payment.js

@ -0,0 +1,58 @@
'use strict';
$(document).ready(function() {
//credit card
var card = new Card({form: '.active form', container: '.card-wrapper'});
//debitcard
var owner = $('#owner');
var cardNumber = $('#cardNumber');
var cardNumberField = $('#card-number-field');
var CVV = $("#cvv");
var mastercard = $("#mastercard");
var confirmButton = $('#confirm-purchase');
var visa = $("#visa");
var amex = $("#amex");
// Use the payform library to format and validate
// the payment fields.
cardNumber.payform('formatCardNumber');
CVV.payform('formatCardCVC');
cardNumber.keyup(function() {
amex.removeClass('transparent');
visa.removeClass('transparent');
mastercard.removeClass('transparent');
if ($.payform.validateCardNumber(cardNumber.val()) == false) {
cardNumberField.addClass('has-error');
} else {
cardNumberField.removeClass('has-error');
cardNumberField.addClass('has-success');
}
if ($.payform.parseCardType(cardNumber.val()) == 'visa') {
mastercard.addClass('transparent');
amex.addClass('transparent');
} else if ($.payform.parseCardType(cardNumber.val()) == 'amex') {
mastercard.addClass('transparent');
visa.addClass('transparent');
} else if ($.payform.parseCardType(cardNumber.val()) == 'mastercard') {
amex.addClass('transparent');
visa.addClass('transparent');
}
});
confirmButton.on('click',function(e) {
e.preventDefault();
var isCardValid = $.payform.validateCardNumber(cardNumber.val());
var isCvvValid = $.payform.validateCardCVC(CVV.val());
});
});

1
src/main/resources/static/files/assets/pages/payment-card/jquery.payform.min.js
File diff suppressed because it is too large
View File

73
src/main/resources/static/files/assets/pages/pnotify/notify.css

@ -0,0 +1,73 @@
.ui-pnotify{
border-radius: 4px;
}
.ui-pnotify-title{
font-size: 16px;
}
.ui-pnotify-text{
font-size: 12px;
}
.ui-pnotify-icon .icofont{
font-size: 20px;
margin-right: 10px;
line-height: 1;
}
.ui-pnotify-container{
padding:18px;
}
.ui-pnotify-title{
margin-bottom: 10px;
line-height: 1.3;
}
.ui-pnotify-text .alert-link{
font-size: 12px;
}
.ui-pnotify.stack-bottom-left,
.ui-pnotify.stack-top-left {
left: 20px;
right: auto
}
.ui-pnotify.stack-bottom-left,
.ui-pnotify.stack-bottom-right {
bottom: 20px;
top: auto
}
.ui-pnotify.stack-modal {
left: 50%;
right: auto;
margin-left: -150px
}
.ui-pnotify.stack-custom-right {
top: auto;
left: auto;
bottom: 200px;
right: 200px
}
.ui-pnotify.stack-custom-left {
top: 200px;
left: 200px;
right: auto;
bottom: auto
}
.ui-pnotify.stack-custom-top {
right: 0;
left: 0;
top: 0
}
.ui-pnotify.stack-custom-bottom {
right: 0;
left: 0;
bottom: 0;
top: auto
}
.btn i.icofont-play-alt-2{
margin-left: 3px;
}

1166
src/main/resources/static/files/assets/pages/pnotify/notify.js
File diff suppressed because it is too large
View File

419
src/main/resources/static/files/assets/pages/prism/custom-prism.js

@ -0,0 +1,419 @@
/* http://prismjs.com/download.html?themes=prism&languages=markup+css+clike+javascript+ruby+css-extras+git+jade+json+php+php-extras+sass+scss+sql&plugins=line-highlight+line-numbers+show-invisibles+autolinker+file-highlight+show-language+jsonp-highlight+highlight-keywords+remove-initial-line-feed+autoloader+unescaped-markup+command-line+normalize-whitespace+keep-markup */
var _self = "undefined" != typeof window ? window : "undefined" != typeof WorkerGlobalScope && self instanceof WorkerGlobalScope ? self : {},
Prism = function() {
var e = /\blang(?:uage)?-(\w+)\b/i,
t = 0,
n = _self.Prism = { util: { encode: function(e) {
return e instanceof a ? new a(e.type, n.util.encode(e.content), e.alias) : "Array" === n.util.type(e) ? e.map(n.util.encode) : e.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/\u00a0/g, " ") }, type: function(e) {
return Object.prototype.toString.call(e).match(/\[object (\w+)\]/)[1] }, objId: function(e) {
return e.__id || Object.defineProperty(e, "__id", { value: ++t }), e.__id }, clone: function(e) {
var t = n.util.type(e);
switch (t) {
case "Object":
var a = {};
for (var r in e) e.hasOwnProperty(r) && (a[r] = n.util.clone(e[r]));
return a;
case "Array":
return e.map && e.map(function(e) {
return n.util.clone(e) }) }
return e } }, languages: { extend: function(e, t) {
var a = n.util.clone(n.languages[e]);
for (var r in t) a[r] = t[r];
return a }, insertBefore: function(e, t, a, r) { r = r || n.languages;
var l = r[e];
if (2 == arguments.length) { a = arguments[1];
for (var i in a) a.hasOwnProperty(i) && (l[i] = a[i]);
return l }
var o = {};
for (var s in l)
if (l.hasOwnProperty(s)) {
if (s == t)
for (var i in a) a.hasOwnProperty(i) && (o[i] = a[i]);
o[s] = l[s] }
return n.languages.DFS(n.languages, function(t, n) { n === r[e] && t != e && (this[t] = o) }), r[e] = o }, DFS: function(e, t, a, r) { r = r || {};
for (var l in e) e.hasOwnProperty(l) && (t.call(e, l, e[l], a || l), "Object" !== n.util.type(e[l]) || r[n.util.objId(e[l])] ? "Array" !== n.util.type(e[l]) || r[n.util.objId(e[l])] || (r[n.util.objId(e[l])] = !0, n.languages.DFS(e[l], t, l, r)) : (r[n.util.objId(e[l])] = !0, n.languages.DFS(e[l], t, null, r))) } }, plugins: {}, highlightAll: function(e, t) {
var a = { callback: t, selector: 'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code' };
n.hooks.run("before-highlightall", a);
for (var r, l = a.elements || document.querySelectorAll(a.selector), i = 0; r = l[i++];) n.highlightElement(r, e === !0, a.callback) }, highlightElement: function(t, a, r) {
for (var l, i, o = t; o && !e.test(o.className);) o = o.parentNode;
o && (l = (o.className.match(e) || [, ""])[1].toLowerCase(), i = n.languages[l]), t.className = t.className.replace(e, "").replace(/\s+/g, " ") + " language-" + l, o = t.parentNode, /pre/i.test(o.nodeName) && (o.className = o.className.replace(e, "").replace(/\s+/g, " ") + " language-" + l);
var s = t.textContent,
u = { element: t, language: l, grammar: i, code: s };
if (n.hooks.run("before-sanity-check", u), !u.code || !u.grammar) return n.hooks.run("complete", u), void 0;
if (n.hooks.run("before-highlight", u), a && _self.Worker) {
var c = new Worker(n.filename);
c.onmessage = function(e) { u.highlightedCode = e.data, n.hooks.run("before-insert", u), u.element.innerHTML = u.highlightedCode, r && r.call(u.element), n.hooks.run("after-highlight", u), n.hooks.run("complete", u) }, c.postMessage(JSON.stringify({ language: u.language, code: u.code, immediateClose: !0 })) } else u.highlightedCode = n.highlight(u.code, u.grammar, u.language), n.hooks.run("before-insert", u), u.element.innerHTML = u.highlightedCode, r && r.call(t), n.hooks.run("after-highlight", u), n.hooks.run("complete", u) }, highlight: function(e, t, r) {
var l = n.tokenize(e, t);
return a.stringify(n.util.encode(l), r) }, tokenize: function(e, t) {
var a = n.Token,
r = [e],
l = t.rest;
if (l) {
for (var i in l) t[i] = l[i];
delete t.rest }
e: for (var i in t)
if (t.hasOwnProperty(i) && t[i]) {
var o = t[i];
o = "Array" === n.util.type(o) ? o : [o];
for (var s = 0; s < o.length; ++s) {
var u = o[s],
c = u.inside,
g = !!u.lookbehind,
h = !!u.greedy,
f = 0,
d = u.alias;
u = u.pattern || u;
for (var p = 0; p < r.length; p++) {
var m = r[p];
if (r.length > e.length) break e;
if (!(m instanceof a)) { u.lastIndex = 0;
var y = u.exec(m),
v = 1;
if (!y && h && p != r.length - 1) {
var b = r[p + 1].matchedStr || r[p + 1],
k = m + b;
if (p < r.length - 2 && (k += r[p + 2].matchedStr || r[p + 2]), u.lastIndex = 0, y = u.exec(k), !y) continue;
var w = y.index + (g ? y[1].length : 0);
if (w >= m.length) continue;
var _ = y.index + y[0].length,
P = m.length + b.length;
if (v = 3, P >= _) {
if (r[p + 1].greedy) continue;
v = 2, k = k.slice(0, P) }
m = k }
if (y) { g && (f = y[1].length);
var w = y.index + f,
y = y[0].slice(f),
_ = w + y.length,
S = m.slice(0, w),
O = m.slice(_),
j = [p, v];
S && j.push(S);
var A = new a(i, c ? n.tokenize(y, c) : y, d, y, h);
j.push(A), O && j.push(O), Array.prototype.splice.apply(r, j) } } } } }
return r }, hooks: { all: {}, add: function(e, t) {
var a = n.hooks.all;
a[e] = a[e] || [], a[e].push(t) }, run: function(e, t) {
var a = n.hooks.all[e];
if (a && a.length)
for (var r, l = 0; r = a[l++];) r(t) } } },
a = n.Token = function(e, t, n, a, r) { this.type = e, this.content = t, this.alias = n, this.matchedStr = a || null, this.greedy = !!r };
if (a.stringify = function(e, t, r) {
if ("string" == typeof e) return e;
if ("Array" === n.util.type(e)) return e.map(function(n) {
return a.stringify(n, t, e) }).join("");
var l = { type: e.type, content: a.stringify(e.content, t, r), tag: "span", classes: ["token", e.type], attributes: {}, language: t, parent: r };
if ("comment" == l.type && (l.attributes.spellcheck = "true"), e.alias) {
var i = "Array" === n.util.type(e.alias) ? e.alias : [e.alias];
Array.prototype.push.apply(l.classes, i) }
n.hooks.run("wrap", l);
var o = "";
for (var s in l.attributes) o += (o ? " " : "") + s + '="' + (l.attributes[s] || "") + '"';
return "<" + l.tag + ' class="' + l.classes.join(" ") + '" ' + o + ">" + l.content + "</" + l.tag + ">" }, !_self.document) return _self.addEventListener ? (_self.addEventListener("message", function(e) {
var t = JSON.parse(e.data),
a = t.language,
r = t.code,
l = t.immediateClose;
_self.postMessage(n.highlight(r, n.languages[a], a)), l && _self.close() }, !1), _self.Prism) : _self.Prism;
var r = document.currentScript || [].slice.call(document.getElementsByTagName("script")).pop();
return r && (n.filename = r.src, document.addEventListener && !r.hasAttribute("data-manual") && document.addEventListener("DOMContentLoaded", n.highlightAll)), _self.Prism }();
"undefined" != typeof module && module.exports && (module.exports = Prism), "undefined" != typeof global && (global.Prism = Prism);
Prism.languages.markup = { comment: /<!--[\w\W]*?-->/, prolog: /<\?[\w\W]+?\?>/, doctype: /<!DOCTYPE[\w\W]+?>/, cdata: /<!\[CDATA\[[\w\W]*?]]>/i, tag: { pattern: /<\/?(?!\d)[^\s>\/=.$<]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\\1|\\?(?!\1)[\w\W])*\1|[^\s'">=]+))?)*\s*\/?>/i, inside: { tag: { pattern: /^<\/?[^\s>\/]+/i, inside: { punctuation: /^<\/?/, namespace: /^[^\s>\/:]+:/ } }, "attr-value": { pattern: /=(?:('|")[\w\W]*?(\1)|[^\s>]+)/i, inside: { punctuation: /[=>"']/ } }, punctuation: /\/?>/, "attr-name": { pattern: /[^\s>\/]+/, inside: { namespace: /^[^\s>\/:]+:/ } } } }, entity: /&#?[\da-z]{1,8};/i }, Prism.hooks.add("wrap", function(a) { "entity" === a.type && (a.attributes.title = a.content.replace(/&amp;/, "&")) }), Prism.languages.xml = Prism.languages.markup, Prism.languages.html = Prism.languages.markup, Prism.languages.mathml = Prism.languages.markup, Prism.languages.svg = Prism.languages.markup;
Prism.languages.css = { comment: /\/\*[\w\W]*?\*\//, atrule: { pattern: /@[\w-]+?.*?(;|(?=\s*\{))/i, inside: { rule: /@[\w-]+/ } }, url: /url\((?:(["'])(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1|.*?)\)/i, selector: /[^\{\}\s][^\{\};]*?(?=\s*\{)/, string: /("|')(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1/, property: /(\b|\B)[\w-]+(?=\s*:)/i, important: /\B!important\b/i, "function": /[-a-z0-9]+(?=\()/i, punctuation: /[(){};:]/ }, Prism.languages.css.atrule.inside.rest = Prism.util.clone(Prism.languages.css), Prism.languages.markup && (Prism.languages.insertBefore("markup", "tag", { style: { pattern: /(<style[\w\W]*?>)[\w\W]*?(?=<\/style>)/i, lookbehind: !0, inside: Prism.languages.css, alias: "language-css" } }), Prism.languages.insertBefore("inside", "attr-value", { "style-attr": { pattern: /\s*style=("|').*?\1/i, inside: { "attr-name": { pattern: /^\s*style/i, inside: Prism.languages.markup.tag.inside }, punctuation: /^\s*=\s*['"]|['"]\s*$/, "attr-value": { pattern: /.+/i, inside: Prism.languages.css } }, alias: "language-css" } }, Prism.languages.markup.tag));
Prism.languages.clike = { comment: [{ pattern: /(^|[^\\])\/\*[\w\W]*?\*\//, lookbehind: !0 }, { pattern: /(^|[^\\:])\/\/.*/, lookbehind: !0 }], string: { pattern: /(["'])(\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/, greedy: !0 }, "class-name": { pattern: /((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[a-z0-9_\.\\]+/i, lookbehind: !0, inside: { punctuation: /(\.|\\)/ } }, keyword: /\b(if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/, "boolean": /\b(true|false)\b/, "function": /[a-z0-9_]+(?=\()/i, number: /\b-?(?:0x[\da-f]+|\d*\.?\d+(?:e[+-]?\d+)?)\b/i, operator: /--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/, punctuation: /[{}[\];(),.:]/ };
Prism.languages.javascript = Prism.languages.extend("clike", { keyword: /\b(as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|var|void|while|with|yield)\b/, number: /\b-?(0x[\dA-Fa-f]+|0b[01]+|0o[0-7]+|\d*\.?\d+([Ee][+-]?\d+)?|NaN|Infinity)\b/, "function": /[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*(?=\()/i }), Prism.languages.insertBefore("javascript", "keyword", { regex: { pattern: /(^|[^\/])\/(?!\/)(\[.+?]|\\.|[^\/\\\r\n])+\/[gimyu]{0,5}(?=\s*($|[\r\n,.;})]))/, lookbehind: !0, greedy: !0 } }), Prism.languages.insertBefore("javascript", "class-name", { "template-string": { pattern: /`(?:\\\\|\\?[^\\])*?`/, greedy: !0, inside: { interpolation: { pattern: /\$\{[^}]+\}/, inside: { "interpolation-punctuation": { pattern: /^\$\{|\}$/, alias: "punctuation" }, rest: Prism.languages.javascript } }, string: /[\s\S]+/ } } }), Prism.languages.markup && Prism.languages.insertBefore("markup", "tag", { script: { pattern: /(<script[\w\W]*?>)[\w\W]*?(?=<\/script>)/i, lookbehind: !0, inside: Prism.languages.javascript, alias: "language-javascript" } }), Prism.languages.js = Prism.languages.javascript;
! function(e) { e.languages.ruby = e.languages.extend("clike", { comment: /#(?!\{[^\r\n]*?\}).*/, keyword: /\b(alias|and|BEGIN|begin|break|case|class|def|define_method|defined|do|each|else|elsif|END|end|ensure|false|for|if|in|module|new|next|nil|not|or|raise|redo|require|rescue|retry|return|self|super|then|throw|true|undef|unless|until|when|while|yield)\b/ });
var n = { pattern: /#\{[^}]+\}/, inside: { delimiter: { pattern: /^#\{|\}$/, alias: "tag" }, rest: e.util.clone(e.languages.ruby) } };
e.languages.insertBefore("ruby", "keyword", { regex: [{ pattern: /%r([^a-zA-Z0-9\s\{\(\[<])(?:[^\\]|\\[\s\S])*?\1[gim]{0,3}/, inside: { interpolation: n } }, { pattern: /%r\((?:[^()\\]|\\[\s\S])*\)[gim]{0,3}/, inside: { interpolation: n } }, { pattern: /%r\{(?:[^#{}\\]|#(?:\{[^}]+\})?|\\[\s\S])*\}[gim]{0,3}/, inside: { interpolation: n } }, { pattern: /%r\[(?:[^\[\]\\]|\\[\s\S])*\][gim]{0,3}/, inside: { interpolation: n } }, { pattern: /%r<(?:[^<>\\]|\\[\s\S])*>[gim]{0,3}/, inside: { interpolation: n } }, { pattern: /(^|[^\/])\/(?!\/)(\[.+?]|\\.|[^\/\r\n])+\/[gim]{0,3}(?=\s*($|[\r\n,.;})]))/, lookbehind: !0 }], variable: /[@$]+[a-zA-Z_][a-zA-Z_0-9]*(?:[?!]|\b)/, symbol: /:[a-zA-Z_][a-zA-Z_0-9]*(?:[?!]|\b)/ }), e.languages.insertBefore("ruby", "number", { builtin: /\b(Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Stat|File|Fixnum|Fload|Hash|Integer|IO|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|String|Struct|TMS|Symbol|ThreadGroup|Thread|Time|TrueClass)\b/, constant: /\b[A-Z][a-zA-Z_0-9]*(?:[?!]|\b)/ }), e.languages.ruby.string = [{ pattern: /%[qQiIwWxs]?([^a-zA-Z0-9\s\{\(\[<])(?:[^\\]|\\[\s\S])*?\1/, inside: { interpolation: n } }, { pattern: /%[qQiIwWxs]?\((?:[^()\\]|\\[\s\S])*\)/, inside: { interpolation: n } }, { pattern: /%[qQiIwWxs]?\{(?:[^#{}\\]|#(?:\{[^}]+\})?|\\[\s\S])*\}/, inside: { interpolation: n } }, { pattern: /%[qQiIwWxs]?\[(?:[^\[\]\\]|\\[\s\S])*\]/, inside: { interpolation: n } }, { pattern: /%[qQiIwWxs]?<(?:[^<>\\]|\\[\s\S])*>/, inside: { interpolation: n } }, { pattern: /("|')(#\{[^}]+\}|\\(?:\r?\n|\r)|\\?.)*?\1/, inside: { interpolation: n } }] }(Prism);
Prism.languages.css.selector = { pattern: /[^\{\}\s][^\{\}]*(?=\s*\{)/, inside: { "pseudo-element": /:(?:after|before|first-letter|first-line|selection)|::[-\w]+/, "pseudo-class": /:[-\w]+(?:\(.*\))?/, "class": /\.[-:\.\w]+/, id: /#[-:\.\w]+/ } }, Prism.languages.insertBefore("css", "function", { hexcode: /#[\da-f]{3,6}/i, entity: /\\[\da-f]{1,8}/i, number: /[\d%\.]+/ });
Prism.languages.git = { comment: /^#.*/m, deleted: /^[-–].*/m, inserted: /^\+.*/m, string: /("|')(\\?.)*?\1/m, command: { pattern: /^.*\$ git .*$/m, inside: { parameter: /\s(--|-)\w+/m } }, coord: /^@@.*@@$/m, commit_sha1: /^commit \w{40}$/m };
! function(e) { e.languages.jade = { comment: { pattern: /(^([\t ]*))\/\/.*((?:\r?\n|\r)\2[\t ]+.+)*/m, lookbehind: !0 }, "multiline-script": { pattern: /(^([\t ]*)script\b.*\.[\t ]*)((?:\r?\n|\r(?!\n))(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/m, lookbehind: !0, inside: { rest: e.languages.javascript } }, filter: { pattern: /(^([\t ]*)):.+((?:\r?\n|\r(?!\n))(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/m, lookbehind: !0, inside: { "filter-name": { pattern: /^:[\w-]+/, alias: "variable" } } }, "multiline-plain-text": { pattern: /(^([\t ]*)[\w\-#.]+\.[\t ]*)((?:\r?\n|\r(?!\n))(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/m, lookbehind: !0 }, markup: { pattern: /(^[\t ]*)<.+/m, lookbehind: !0, inside: { rest: e.languages.markup } }, doctype: { pattern: /((?:^|\n)[\t ]*)doctype(?: .+)?/, lookbehind: !0 }, "flow-control": { pattern: /(^[\t ]*)(?:if|unless|else|case|when|default|each|while)\b(?: .+)?/m, lookbehind: !0, inside: { each: { pattern: /^each .+? in\b/, inside: { keyword: /\b(?:each|in)\b/, punctuation: /,/ } }, branch: { pattern: /^(?:if|unless|else|case|when|default|while)\b/, alias: "keyword" }, rest: e.languages.javascript } }, keyword: { pattern: /(^[\t ]*)(?:block|extends|include|append|prepend)\b.+/m, lookbehind: !0 }, mixin: [{ pattern: /(^[\t ]*)mixin .+/m, lookbehind: !0, inside: { keyword: /^mixin/, "function": /\w+(?=\s*\(|\s*$)/, punctuation: /[(),.]/ } }, { pattern: /(^[\t ]*)\+.+/m, lookbehind: !0, inside: { name: { pattern: /^\+\w+/, alias: "function" }, rest: e.languages.javascript } }], script: { pattern: /(^[\t ]*script(?:(?:&[^(]+)?\([^)]+\))*[\t ]+).+/m, lookbehind: !0, inside: { rest: e.languages.javascript } }, "plain-text": { pattern: /(^[\t ]*(?!-)[\w\-#.]*[\w\-](?:(?:&[^(]+)?\([^)]+\))*\/?[\t ]+).+/m, lookbehind: !0 }, tag: { pattern: /(^[\t ]*)(?!-)[\w\-#.]*[\w\-](?:(?:&[^(]+)?\([^)]+\))*\/?:?/m, lookbehind: !0, inside: { attributes: [{ pattern: /&[^(]+\([^)]+\)/, inside: { rest: e.languages.javascript } }, { pattern: /\([^)]+\)/, inside: { "attr-value": { pattern: /(=\s*)(?:\{[^}]*\}|[^,)\r\n]+)/, lookbehind: !0, inside: { rest: e.languages.javascript } }, "attr-name": /[\w-]+(?=\s*!?=|\s*[,)])/, punctuation: /[!=(),]+/ } }], punctuation: /:/ } }, code: [{ pattern: /(^[\t ]*(?:-|!?=)).+/m, lookbehind: !0, inside: { rest: e.languages.javascript } }], punctuation: /[.\-!=|]+/ };
for (var t = "(^([\\t ]*)):{{filter_name}}((?:\\r?\\n|\\r(?!\\n))(?:\\2[\\t ]+.+|\\s*?(?=\\r?\\n|\\r)))+", n = [{ filter: "atpl", language: "twig" }, { filter: "coffee", language: "coffeescript" }, "ejs", "handlebars", "hogan", "less", "livescript", "markdown", "mustache", "plates", { filter: "sass", language: "scss" }, "stylus", "swig"], a = {}, i = 0, r = n.length; r > i; i++) {
var s = n[i];
s = "string" == typeof s ? { filter: s, language: s } : s, e.languages[s.language] && (a["filter-" + s.filter] = { pattern: RegExp(t.replace("{{filter_name}}", s.filter), "m"), lookbehind: !0, inside: { "filter-name": { pattern: /^:[\w-]+/, alias: "variable" }, rest: e.languages[s.language] } }) }
e.languages.insertBefore("jade", "filter", a) }(Prism);
Prism.languages.json = { property: /".*?"(?=\s*:)/gi, string: /"(?!:)(\\?[^"])*?"(?!:)/g, number: /\b-?(0x[\dA-Fa-f]+|\d*\.?\d+([Ee]-?\d+)?)\b/g, punctuation: /[{}[\]);,]/g, operator: /:/g, "boolean": /\b(true|false)\b/gi, "null": /\bnull\b/gi }, Prism.languages.jsonp = Prism.languages.json;
Prism.languages.php = Prism.languages.extend("clike", { keyword: /\b(and|or|xor|array|as|break|case|cfunction|class|const|continue|declare|default|die|do|else|elseif|enddeclare|endfor|endforeach|endif|endswitch|endwhile|extends|for|foreach|function|include|include_once|global|if|new|return|static|switch|use|require|require_once|var|while|abstract|interface|public|implements|private|protected|parent|throw|null|echo|print|trait|namespace|final|yield|goto|instanceof|finally|try|catch)\b/i, constant: /\b[A-Z0-9_]{2,}\b/, comment: { pattern: /(^|[^\\])(?:\/\*[\w\W]*?\*\/|\/\/.*)/, lookbehind: !0 } }), Prism.languages.insertBefore("php", "class-name", { "shell-comment": { pattern: /(^|[^\\])#.*/, lookbehind: !0, alias: "comment" } }), Prism.languages.insertBefore("php", "keyword", { delimiter: /\?>|<\?(?:php)?/i, variable: /\$\w+\b/i, "package": { pattern: /(\\|namespace\s+|use\s+)[\w\\]+/, lookbehind: !0, inside: { punctuation: /\\/ } } }), Prism.languages.insertBefore("php", "operator", { property: { pattern: /(->)[\w]+/, lookbehind: !0 } }), Prism.languages.markup && (Prism.hooks.add("before-highlight", function(e) { "php" === e.language && (e.tokenStack = [], e.backupCode = e.code, e.code = e.code.replace(/(?:<\?php|<\?)[\w\W]*?(?:\?>)/gi, function(a) {
return e.tokenStack.push(a), "{{{PHP" + e.tokenStack.length + "}}}" })) }), Prism.hooks.add("before-insert", function(e) { "php" === e.language && (e.code = e.backupCode, delete e.backupCode) }), Prism.hooks.add("after-highlight", function(e) {
if ("php" === e.language) {
for (var a, n = 0; a = e.tokenStack[n]; n++) e.highlightedCode = e.highlightedCode.replace("{{{PHP" + (n + 1) + "}}}", Prism.highlight(a, e.grammar, "php").replace(/\$/g, "$$$$"));
e.element.innerHTML = e.highlightedCode } }), Prism.hooks.add("wrap", function(e) { "php" === e.language && "markup" === e.type && (e.content = e.content.replace(/(\{\{\{PHP[0-9]+\}\}\})/g, '<span class="token php">$1</span>')) }), Prism.languages.insertBefore("php", "comment", { markup: { pattern: /<[^?]\/?(.*?)>/, inside: Prism.languages.markup }, php: /\{\{\{PHP[0-9]+\}\}\}/ }));
Prism.languages.insertBefore("php", "variable", { "this": /\$this\b/, global: /\$(?:_(?:SERVER|GET|POST|FILES|REQUEST|SESSION|ENV|COOKIE)|GLOBALS|HTTP_RAW_POST_DATA|argc|argv|php_errormsg|http_response_header)/, scope: { pattern: /\b[\w\\]+::/, inside: { keyword: /(static|self|parent)/, punctuation: /(::|\\)/ } } });
! function(e) { e.languages.sass = e.languages.extend("css", { comment: { pattern: /^([ \t]*)\/[\/*].*(?:(?:\r?\n|\r)\1[ \t]+.+)*/m, lookbehind: !0 } }), e.languages.insertBefore("sass", "atrule", { "atrule-line": { pattern: /^(?:[ \t]*)[@+=].+/m, inside: { atrule: /(?:@[\w-]+|[+=])/m } } }), delete e.languages.sass.atrule;
var a = /((\$[-_\w]+)|(#\{\$[-_\w]+\}))/i,
t = [/[+*\/%]|[=!]=|<=?|>=?|\b(?:and|or|not)\b/, { pattern: /(\s+)-(?=\s)/, lookbehind: !0 }];
e.languages.insertBefore("sass", "property", { "variable-line": { pattern: /^[ \t]*\$.+/m, inside: { punctuation: /:/, variable: a, operator: t } }, "property-line": { pattern: /^[ \t]*(?:[^:\s]+ *:.*|:[^:\s]+.*)/m, inside: { property: [/[^:\s]+(?=\s*:)/, { pattern: /(:)[^:\s]+/, lookbehind: !0 }], punctuation: /:/, variable: a, operator: t, important: e.languages.sass.important } } }), delete e.languages.sass.property, delete e.languages.sass.important, delete e.languages.sass.selector, e.languages.insertBefore("sass", "punctuation", { selector: { pattern: /([ \t]*)\S(?:,?[^,\r\n]+)*(?:,(?:\r?\n|\r)\1[ \t]+\S(?:,?[^,\r\n]+)*)*/, lookbehind: !0 } }) }(Prism);
Prism.languages.scss = Prism.languages.extend("css", { comment: { pattern: /(^|[^\\])(?:\/\*[\w\W]*?\*\/|\/\/.*)/, lookbehind: !0 }, atrule: { pattern: /@[\w-]+(?:\([^()]+\)|[^(])*?(?=\s+[{;])/, inside: { rule: /@[\w-]+/ } }, url: /(?:[-a-z]+-)*url(?=\()/i, selector: { pattern: /(?=\S)[^@;\{\}\(\)]?([^@;\{\}\(\)]|&|#\{\$[-_\w]+\})+(?=\s*\{(\}|\s|[^\}]+(:|\{)[^\}]+))/m, inside: { placeholder: /%[-_\w]+/ } } }), Prism.languages.insertBefore("scss", "atrule", { keyword: [/@(?:if|else(?: if)?|for|each|while|import|extend|debug|warn|mixin|include|function|return|content)/i, { pattern: /( +)(?:from|through)(?= )/, lookbehind: !0 }] }), Prism.languages.insertBefore("scss", "property", { variable: /\$[-_\w]+|#\{\$[-_\w]+\}/ }), Prism.languages.insertBefore("scss", "function", { placeholder: { pattern: /%[-_\w]+/, alias: "selector" }, statement: /\B!(?:default|optional)\b/i, "boolean": /\b(?:true|false)\b/, "null": /\bnull\b/, operator: { pattern: /(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|or|not)(?=\s)/, lookbehind: !0 } }), Prism.languages.scss.atrule.inside.rest = Prism.util.clone(Prism.languages.scss);
Prism.languages.sql = { comment: { pattern: /(^|[^\\])(?:\/\*[\w\W]*?\*\/|(?:--|\/\/|#).*)/, lookbehind: !0 }, string: { pattern: /(^|[^@\\])("|')(?:\\?[\s\S])*?\2/, lookbehind: !0 }, variable: /@[\w.$]+|@("|'|`)(?:\\?[\s\S])+?\1/, "function": /\b(?:COUNT|SUM|AVG|MIN|MAX|FIRST|LAST|UCASE|LCASE|MID|LEN|ROUND|NOW|FORMAT)(?=\s*\()/i, keyword: /\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR VARYING|CHARACTER (?:SET|VARYING)|CHARSET|CHECK|CHECKPOINT|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMN|COLUMNS|COMMENT|COMMIT|COMMITTED|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS|CONTAINSTABLE|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|DATA(?:BASES?)?|DATETIME|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE(?: PRECISION)?|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE KEY|ELSE|ENABLE|ENCLOSED BY|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPE(?:D BY)?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|IDENTITY(?:_INSERT|COL)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTO|INVOKER|ISOLATION LEVEL|JOIN|KEYS?|KILL|LANGUAGE SQL|LAST|LEFT|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MODIFIES SQL DATA|MODIFY|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL(?: CHAR VARYING| CHARACTER(?: VARYING)?| VARCHAR)?|NATURAL|NCHAR(?: VARCHAR)?|NEXT|NO(?: SQL|CHECK|CYCLE)?|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READ(?:S SQL DATA|TEXT)?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEATABLE|REPLICATION|REQUIRE|RESTORE|RESTRICT|RETURNS?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE MODE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|START(?:ING BY)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED BY|TEXT(?:SIZE)?|THEN|TIMESTAMP|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNPIVOT|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?)\b/i, "boolean": /\b(?:TRUE|FALSE|NULL)\b/i, number: /\b-?(?:0x)?\d*\.?[\da-f]+\b/, operator: /[-+*\/=%^~]|&&?|\|?\||!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|IN|LIKE|NOT|OR|IS|DIV|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i, punctuation: /[;[\]()`,.]/ };
! function() {
function e(e, t) {
return Array.prototype.slice.call((t || document).querySelectorAll(e)) }
function t(e, t) {
return t = " " + t + " ", (" " + e.className + " ").replace(/[\n\t]/g, " ").indexOf(t) > -1 }
function n(e, n, i) {
for (var o, a = n.replace(/\s+/g, "").split(","), l = +e.getAttribute("data-line-offset") || 0, d = r() ? parseInt : parseFloat, c = d(getComputedStyle(e).lineHeight), s = 0; o = a[s++];) { o = o.split("-");
var u = +o[0],
m = +o[1] || u,
h = document.createElement("div");
h.textContent = Array(m - u + 2).join(" \n"), h.className = (i || "") + " line-highlight", t(e, "line-numbers") || (h.setAttribute("data-start", u), m > u && h.setAttribute("data-end", m)), h.style.top = (u - l - 1) * c + "px", t(e, "line-numbers") ? e.appendChild(h) : (e.querySelector("code") || e).appendChild(h) } }
function i() {
var t = location.hash.slice(1);
e(".temporary.line-highlight").forEach(function(e) { e.parentNode.removeChild(e) });
var i = (t.match(/\.([\d,-]+)$/) || [, ""])[1];
if (i && !document.getElementById(t)) {
var r = t.slice(0, t.lastIndexOf(".")),
o = document.getElementById(r);
o && (o.hasAttribute("data-line") || o.setAttribute("data-line", ""), n(o, i, "temporary "), document.querySelector(".temporary.line-highlight").scrollIntoView()) } }
if ("undefined" != typeof self && self.Prism && self.document && document.querySelector) {
var r = function() {
var e;
return function() {
if ("undefined" == typeof e) {
var t = document.createElement("div");
t.style.fontSize = "13px", t.style.lineHeight = "1.5", t.style.padding = 0, t.style.border = 0, t.innerHTML = "&nbsp;<br />&nbsp;", document.body.appendChild(t), e = 38 === t.offsetHeight, document.body.removeChild(t) }
return e } }(),
o = 0;
Prism.hooks.add("complete", function(t) {
var r = t.element.parentNode,
a = r && r.getAttribute("data-line");
r && a && /pre/i.test(r.nodeName) && (clearTimeout(o), e(".line-highlight", r).forEach(function(e) { e.parentNode.removeChild(e) }), n(r, a), o = setTimeout(i, 1)) }), window.addEventListener && window.addEventListener("hashchange", i) } }();
! function() { "undefined" != typeof self && self.Prism && self.document && Prism.hooks.add("complete", function(e) {
if (e.code) {
var t = e.element.parentNode,
s = /\s*\bline-numbers\b\s*/;
if (t && /pre/i.test(t.nodeName) && (s.test(t.className) || s.test(e.element.className)) && !e.element.querySelector(".line-numbers-rows")) { s.test(e.element.className) && (e.element.className = e.element.className.replace(s, "")), s.test(t.className) || (t.className += " line-numbers");
var n, a = e.code.match(/\n(?!$)/g),
l = a ? a.length + 1 : 1,
m = new Array(l + 1);
m = m.join("<span></span>"), n = document.createElement("span"), n.className = "line-numbers-rows", n.innerHTML = m, t.hasAttribute("data-start") && (t.style.counterReset = "linenumber " + (parseInt(t.getAttribute("data-start"), 10) - 1)), e.element.appendChild(n) } } }) }();
! function() { "undefined" != typeof self && !self.Prism || "undefined" != typeof global && !global.Prism || Prism.hooks.add("before-highlight", function(e) {
var f = e.grammar;
f.tab = /\t/g, f.crlf = /\r\n/g, f.lf = /\n/g, f.cr = /\r/g, f.space = / /g }) }();
! function() {
if (("undefined" == typeof self || self.Prism) && ("undefined" == typeof global || global.Prism)) {
var i = /\b([a-z]{3,7}:\/\/|tel:)[\w\-+%~\/.:#=?&amp;]+/,
n = /\b\S+@[\w.]+[a-z]{2}/,
e = /\[([^\]]+)]\(([^)]+)\)/,
t = ["comment", "url", "attr-value", "string"];
Prism.hooks.add("before-highlight", function(a) { a.grammar && !a.grammar["url-link"] && (Prism.languages.DFS(a.grammar, function(a, r, l) { t.indexOf(l) > -1 && "Array" !== Prism.util.type(r) && (r.pattern || (r = this[a] = { pattern: r }), r.inside = r.inside || {}, "comment" == l && (r.inside["md-link"] = e), "attr-value" == l ? Prism.languages.insertBefore("inside", "punctuation", { "url-link": i }, r) : r.inside["url-link"] = i, r.inside["email-link"] = n) }), a.grammar["url-link"] = i, a.grammar["email-link"] = n) }), Prism.hooks.add("wrap", function(i) {
if (/-link$/.test(i.type)) { i.tag = "a";
var n = i.content;
if ("email-link" == i.type && 0 != n.indexOf("mailto:")) n = "mailto:" + n;
else if ("md-link" == i.type) {
var t = i.content.match(e);
n = t[2], i.content = t[1] }
i.attributes.href = n } }) } }();
! function() { "undefined" != typeof self && self.Prism && self.document && document.querySelector && (self.Prism.fileHighlight = function() {
var e = { js: "javascript", py: "python", rb: "ruby", ps1: "powershell", psm1: "powershell", sh: "bash", bat: "batch", h: "c", tex: "latex" };
Array.prototype.forEach && Array.prototype.slice.call(document.querySelectorAll("pre[data-src]")).forEach(function(t) {
for (var a, s = t.getAttribute("data-src"), n = t, r = /\blang(?:uage)?-(?!\*)(\w+)\b/i; n && !r.test(n.className);) n = n.parentNode;
if (n && (a = (t.className.match(r) || [, ""])[1]), !a) {
var o = (s.match(/\.(\w+)$/) || [, ""])[1];
a = e[o] || o }
var l = document.createElement("code");
l.className = "language-" + a, t.textContent = "", l.textContent = "Loading…", t.appendChild(l);
var i = new XMLHttpRequest;
i.open("GET", s, !0), i.onreadystatechange = function() { 4 == i.readyState && (i.status < 400 && i.responseText ? (l.textContent = i.responseText, Prism.highlightElement(l)) : l.textContent = i.status >= 400 ? "✖ Error " + i.status + " while fetching file: " + i.statusText : "✖ Error: File does not exist or is empty") }, i.send(null) }) }, document.addEventListener("DOMContentLoaded", self.Prism.fileHighlight)) }();
! function() {
if ("undefined" != typeof self && self.Prism && self.document) {
var e = { html: "HTML", xml: "XML", svg: "SVG", mathml: "MathML", css: "CSS", clike: "C-like", javascript: "JavaScript", abap: "ABAP", actionscript: "ActionScript", apacheconf: "Apache Configuration", apl: "APL", applescript: "AppleScript", asciidoc: "AsciiDoc", aspnet: "ASP.NET (C#)", autoit: "AutoIt", autohotkey: "AutoHotkey", basic: "BASIC", csharp: "C#", cpp: "C++", coffeescript: "CoffeeScript", "css-extras": "CSS Extras", fsharp: "F#", glsl: "GLSL", http: "HTTP", inform7: "Inform 7", json: "JSON", latex: "LaTeX", lolcode: "LOLCODE", matlab: "MATLAB", mel: "MEL", nasm: "NASM", nginx: "nginx", nsis: "NSIS", objectivec: "Objective-C", ocaml: "OCaml", parigp: "PARI/GP", php: "PHP", "php-extras": "PHP Extras", powershell: "PowerShell", protobuf: "Protocol Buffers", jsx: "React JSX", rest: "reST (reStructuredText)", sas: "SAS", sass: "Sass (Sass)", scss: "Sass (Scss)", sql: "SQL", typescript: "TypeScript", vhdl: "VHDL", vim: "vim", wiki: "Wiki markup", yaml: "YAML" };
Prism.hooks.add("before-highlight", function(s) {
var a = s.element.parentNode;
if (a && /pre/i.test(a.nodeName)) {
var t, i, r = a.getAttribute("data-language") || e[s.language] || s.language.substring(0, 1).toUpperCase() + s.language.substring(1),
l = a.previousSibling;
l && /\s*\bprism-show-language\b\s*/.test(l.className) && l.firstChild && /\s*\bprism-show-language-label\b\s*/.test(l.firstChild.className) ? i = l.firstChild : (t = document.createElement("div"), i = document.createElement("div"), i.className = "prism-show-language-label", t.className = "prism-show-language", t.appendChild(i), a.parentNode.insertBefore(t, a)), i.innerHTML = r } }) } }();
! function() {
function t(t) { "function" != typeof t || e(t) || r.push(t) }
function e(t) {
return "function" == typeof t ? r.filter(function(e) {
return e.valueOf() === t.valueOf() })[0] : "string" == typeof t && t.length > 0 ? r.filter(function(e) {
return e.name === t })[0] : null }
function n(t) {
if ("string" == typeof t && (t = e(t)), "function" == typeof t) {
var n = r.indexOf(t);
n >= 0 && r.splice(n, 1) } }
function a() { Array.prototype.slice.call(document.querySelectorAll("pre[data-jsonp]")).forEach(function(t) { t.textContent = "";
var e = document.createElement("code");
e.textContent = i, t.appendChild(e);
var n = t.getAttribute("data-adapter"),
a = null;
if (n) {
if ("function" != typeof window[n]) return e.textContent = "JSONP adapter function '" + n + "' doesn't exist", void 0;
a = window[n] }
var u = "prismjsonp" + o++,
f = document.createElement("a"),
l = f.href = t.getAttribute("data-jsonp");
f.href += (f.search ? "&" : "?") + (t.getAttribute("data-callback") || "callback") + "=" + u;
var s = setTimeout(function() { e.textContent === i && (e.textContent = "Timeout loading '" + l + "'") }, 5e3),
d = document.createElement("script");
d.src = f.href, window[u] = function(n) { document.head.removeChild(d), clearTimeout(s), delete window[u];
var o = "";
if (a) o = a(n, t);
else
for (var i in r)
if (o = r[i](n, t), null !== o) break;
null === o ? e.textContent = "Cannot parse response (perhaps you need an adapter function?)" : (e.textContent = o, Prism.highlightElement(e)) }, document.head.appendChild(d) }) }
if (self.Prism && self.document && document.querySelectorAll && [].filter) {
var r = [];
Prism.plugins.jsonphighlight = { registerAdapter: t, removeAdapter: n, highlight: a }, t(function(t) {
if (t && t.meta && t.data) {
if (t.meta.status && t.meta.status >= 400) return "Error: " + (t.data.message || t.meta.status);
if ("string" == typeof t.data.content) return "function" == typeof atob ? atob(t.data.content.replace(/\s/g, "")) : "Your browser cannot decode base64" }
return null }), t(function(t, e) {
if (t && t.meta && t.data && t.data.files) {
if (t.meta.status && t.meta.status >= 400) return "Error: " + (t.data.message || t.meta.status);
var n = e.getAttribute("data-filename");
if (null == n)
for (var a in t.data.files)
if (t.data.files.hasOwnProperty(a)) { n = a;
break }
return void 0 !== t.data.files[n] ? t.data.files[n].content : "Error: unknown or missing gist file " + n }
return null }), t(function(t) {
return t && t.node && "string" == typeof t.data ? t.data : null });
var o = 0,
i = "Loading…";
a() } }();
! function() { "undefined" != typeof self && !self.Prism || "undefined" != typeof global && !global.Prism || Prism.hooks.add("wrap", function(e) { "keyword" === e.type && e.classes.push("keyword-" + e.content) }) }();
! function() { "undefined" != typeof self && self.Prism && self.document && Prism.hooks.add("before-highlight", function(e) {
if (e.code) {
var s = e.element.parentNode,
n = /\s*\bkeep-initial-line-feed\b\s*/;!s || "pre" !== s.nodeName.toLowerCase() || n.test(s.className) || n.test(e.element.className) || (e.code = e.code.replace(/^(?:\r?\n|\r)/, "")) } }) }();
! function() {
if ("undefined" != typeof self && self.Prism && self.document && document.createElement) {
var e = { javascript: "clike", actionscript: "javascript", aspnet: "markup", bison: "c", c: "clike", csharp: "clike", cpp: "c", coffeescript: "javascript", crystal: "ruby", "css-extras": "css", d: "clike", dart: "clike", fsharp: "clike", glsl: "clike", go: "clike", groovy: "clike", haml: "ruby", handlebars: "markup", haxe: "clike", jade: "javascript", java: "clike", kotlin: "clike", less: "css", markdown: "markup", nginx: "clike", objectivec: "c", parser: "markup", php: "clike", "php-extras": "php", processing: "clike", protobuf: "clike", qore: "clike", jsx: ["markup", "javascript"], ruby: "clike", sass: "css", scss: "css", scala: "java", smarty: "markup", swift: "clike", textile: "markup", twig: "markup", typescript: "javascript", wiki: "markup" },
c = {},
a = Prism.plugins.autoloader = { languages_path: "components/", use_minified: !0 },
s = function(e, c, a) {
var s = document.createElement("script");
s.src = e, s.async = !0, s.onload = function() { document.body.removeChild(s), c && c() }, s.onerror = function() { document.body.removeChild(s), a && a() }, document.body.appendChild(s) },
r = function(e) {
return a.languages_path + "prism-" + e + (a.use_minified ? ".min" : "") + ".js" },
n = function(e, a) {
var s = c[e];
s || (s = c[e] = {});
var r = a.getAttribute("data-dependencies");!r && a.parentNode && "pre" === a.parentNode.tagName.toLowerCase() && (r = a.parentNode.getAttribute("data-dependencies")), r = r ? r.split(/\s*,\s*/g) : [], i(r, function() { t(e, function() { Prism.highlightElement(a) }) }) },
i = function(e, c, a) { "string" == typeof e && (e = [e]);
var s = 0,
r = e.length,
n = function() { r > s ? t(e[s], function() { s++, n() }, function() { a && a(e[s]) }) : s === r && c && c(e) };
n() },
t = function(a, n, t) {
var u = function() {
var e = !1;
a.indexOf("!") >= 0 && (e = !0, a = a.replace("!", ""));
var i = c[a];
if (i || (i = c[a] = {}), n && (i.success_callbacks || (i.success_callbacks = []), i.success_callbacks.push(n)), t && (i.error_callbacks || (i.error_callbacks = []), i.error_callbacks.push(t)), !e && Prism.languages[a]) l(a);
else if (!e && i.error) o(a);
else if (e || !i.loading) { i.loading = !0;
var u = r(a);
s(u, function() { i.loading = !1, l(a) }, function() { i.loading = !1, i.error = !0, o(a) }) } },
p = e[a];
p && p.length ? i(p, u) : u() },
l = function(e) { c[e] && c[e].success_callbacks && c[e].success_callbacks.length && c[e].success_callbacks.forEach(function(c) { c(e) }) },
o = function(e) { c[e] && c[e].error_callbacks && c[e].error_callbacks.length && c[e].error_callbacks.forEach(function(c) { c(e) }) };
Prism.hooks.add("complete", function(e) { e.element && e.language && !e.grammar && n(e.language, e.element) }) } }();
! function() { "undefined" != typeof self && self.Prism && self.document && Prism.languages.markup && (Prism.plugins.UnescapedMarkup = !0, Prism.hooks.add("before-highlightall", function(e) { e.selector += ", .lang-markup script[type='text/plain'], .language-markup script[type='text/plain'], script[type='text/plain'].lang-markup, script[type='text/plain'].language-markup" }), Prism.hooks.add("before-sanity-check", function(e) {
if ("markup" == e.language) {
if (e.element.matches("script[type='text/plain']")) {
var t = document.createElement("code"),
n = document.createElement("pre");
return n.className = t.className = e.element.className, e.code = e.code.replace(/&lt;\/script(>|&gt;)/gi, "</script>"), t.textContent = e.code, n.appendChild(t), e.element.parentNode.replaceChild(n, e.element), e.element = t, void 0 }
var n = e.element.parentNode;!e.code && n && "pre" == n.nodeName.toLowerCase() && e.element.childNodes.length && "#comment" == e.element.childNodes[0].nodeName && (e.element.textContent = e.code = e.element.childNodes[0].textContent) } })) }();
! function() { "undefined" != typeof self && self.Prism && self.document && Prism.hooks.add("complete", function(e) {
if (e.code) {
var t = e.element.parentNode,
a = /\s*\bcommand-line\b\s*/;
if (t && /pre/i.test(t.nodeName) && (a.test(t.className) || a.test(e.element.className)) && !e.element.querySelector(".command-line-prompt")) { a.test(e.element.className) && (e.element.className = e.element.className.replace(a, "")), a.test(t.className) || (t.className += " command-line");
var n = new Array(1 + e.code.split("\n").length),
s = t.getAttribute("data-prompt") || "";
if ("" !== s) n = n.join('<span data-prompt="' + s + '"></span>');
else {
var r = t.getAttribute("data-user") || "user",
l = t.getAttribute("data-host") || "localhost";
n = n.join('<span data-user="' + r + '" data-host="' + l + '"></span>') }
var m = document.createElement("span");
m.className = "command-line-prompt", m.innerHTML = n;
var o = t.getAttribute("data-output") || "";
o = o.split(",");
for (var i = 0; i < o.length; i++) {
var d = o[i].split("-"),
p = parseInt(d[0]),
c = p;
if (2 === d.length && (c = parseInt(d[1])), !isNaN(p) && !isNaN(c))
for (var u = p; c >= u && u <= m.children.length; u++) {
var N = m.children[u - 1];
N.removeAttribute("data-user"), N.removeAttribute("data-host"), N.removeAttribute("data-prompt") } }
e.element.innerHTML = m.outerHTML + e.element.innerHTML } } }) }();
! function() {
function e(e) { this.defaults = r({}, e) }
function n(e) {
return e.replace(/-(\w)/g, function(e, n) {
return n.toUpperCase() }) }
function t(e) {
for (var n = 0, t = 0; t < e.length; ++t) e.charCodeAt(t) == " ".charCodeAt(0) && (n += 3);
return e.length + n }
if ("undefined" != typeof self && self.Prism && self.document) {
var r = Object.assign || function(e, n) {
for (var t in n) n.hasOwnProperty(t) && (e[t] = n[t]);
return e };
e.prototype = { setDefaults: function(e) { this.defaults = r(this.defaults, e) }, normalize: function(e, t) { t = r(this.defaults, t);
for (var i in t) {
var o = n(i); "normalize" !== i && "setDefaults" !== o && t[i] && this[o] && (e = this[o].call(this, e, t[i])) }
return e }, leftTrim: function(e) {
return e.replace(/^\s+/, "") }, rightTrim: function(e) {
return e.replace(/\s+$/, "") }, tabsToSpaces: function(e, n) {
return n = 0 | n || 4, e.replace(/\t/g, new Array(++n).join(" ")) }, spacesToTabs: function(e, n) {
return n = 0 | n || 4, e.replace(new RegExp(" {" + n + "}", "g"), " ") }, removeTrailing: function(e) {
return e.replace(/\s*?$/gm, "") }, removeInitialLineFeed: function(e) {
return e.replace(/^(?:\r?\n|\r)/, "") }, removeIndent: function(e) {
var n = e.match(/^[^\S\n\r]*(?=\S)/gm);
return n && n[0].length ? (n.sort(function(e, n) {
return e.length - n.length }), n[0].length ? e.replace(new RegExp("^" + n[0], "gm"), "") : e) : e }, indent: function(e, n) {
return e.replace(/^[^\S\n\r]*(?=\S)/gm, new Array(++n).join(" ") + "$&") }, breakLines: function(e, n) { n = n === !0 ? 80 : 0 | n || 80;
for (var r = e.split("\n"), i = 0; i < r.length; ++i)
if (!(t(r[i]) <= n)) {
for (var o = r[i].split(/(\s+)/g), a = 0, l = 0; l < o.length; ++l) {
var s = t(o[l]);
a += s, a > n && (o[l] = "\n" + o[l], a = s) }
r[i] = o.join("") }
return r.join("\n") } }, Prism.plugins.NormalizeWhitespace = new e({ "remove-trailing": !0, "remove-indent": !0, "left-trim": !0, "right-trim": !0 }), Prism.hooks.add("before-highlight", function(e) {
var n = e.element.parentNode;
if (e.code && n && "pre" === n.nodeName.toLowerCase() && (!e.settings || e.settings["whitespace-normalization"] !== !1)) {
for (var t = n.childNodes, r = "", i = "", o = !1, a = Prism.plugins.NormalizeWhitespace, l = 0; l < t.length; ++l) {
var s = t[l];
s == e.element ? o = !0 : "#text" === s.nodeName && (o ? i += s.nodeValue : r += s.nodeValue, n.removeChild(s), --l) }
if (e.element.children.length && Prism.plugins.KeepMarkup) {
var u = r + e.element.innerHTML + i;
e.element.innerHTML = a.normalize(u, e.settings), e.code = e.element.textContent } else e.code = r + e.code + i, e.code = a.normalize(e.code, e.settings) } }) } }();
! function() { "undefined" != typeof self && self.Prism && self.document && document.createRange && (Prism.plugins.KeepMarkup = !0, Prism.hooks.add("before-highlight", function(e) {
if (e.element.children.length) {
var n = 0,
o = [],
t = function(e, d) {
var r = {};
d || (r.clone = e.cloneNode(!1), r.posOpen = n, o.push(r));
for (var a = 0, s = e.childNodes.length; s > a; a++) {
var p = e.childNodes[a];
1 === p.nodeType ? t(p) : 3 === p.nodeType && (n += p.data.length) }
d || (r.posClose = n) };
t(e.element, !0), o && o.length && (e.keepMarkup = o) } }), Prism.hooks.add("after-highlight", function(e) {
if (e.keepMarkup && e.keepMarkup.length) {
var n = function(e, o) {
for (var t = 0, d = e.childNodes.length; d > t; t++) {
var r = e.childNodes[t];
if (1 === r.nodeType) {
if (!n(r, o)) return !1 } else 3 === r.nodeType && (!o.nodeStart && o.pos + r.data.length > o.node.posOpen && (o.nodeStart = r, o.nodeStartPos = o.node.posOpen - o.pos), o.nodeStart && o.pos + r.data.length >= o.node.posClose && (o.nodeEnd = r, o.nodeEndPos = o.node.posClose - o.pos), o.pos += r.data.length);
if (o.nodeStart && o.nodeEnd) {
var a = document.createRange();
return a.setStart(o.nodeStart, o.nodeStartPos), a.setEnd(o.nodeEnd, o.nodeEndPos), o.node.clone.appendChild(a.extractContents()), a.insertNode(o.node.clone), a.detach(), !1 } }
return !0 };
e.keepMarkup.forEach(function(o) { n(e.element, { node: o, pos: 0 }) }) } })) }();

346
src/main/resources/static/files/assets/pages/prism/prism.css

@ -0,0 +1,346 @@
/* http://prismjs.com/download.html?themes=prism&languages=markup+css+clike+javascript+ruby+css-extras+git+jade+json+php+php-extras+sass+scss+sql&plugins=line-highlight+line-numbers+show-invisibles+autolinker+file-highlight+show-language+jsonp-highlight+highlight-keywords+remove-initial-line-feed+autoloader+unescaped-markup+command-line+normalize-whitespace+keep-markup */
/**
* prism.js default theme for JavaScript, CSS and HTML
* Based on dabblet (http://dabblet.com)
* @author Lea Verou
*/
code[class*="language-"],
pre[class*="language-"] {
color: black;
background: none;
text-shadow: 0 1px white;
font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
text-align: left;
white-space: pre;
word-spacing: normal;
word-break: normal;
word-wrap: normal;
font-size: 100%;
line-height: 1.5;
-moz-tab-size: 4;
-o-tab-size: 4;
tab-size: 4;
-webkit-hyphens: none;
-moz-hyphens: none;
-ms-hyphens: none;
hyphens: none;
}
pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,
code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {
text-shadow: none;
background: #b3d4fc;
}
pre[class*="language-"]::selection, pre[class*="language-"] ::selection,
code[class*="language-"]::selection, code[class*="language-"] ::selection {
text-shadow: none;
background: #b3d4fc;
}
@media print {
code[class*="language-"],
pre[class*="language-"] {
text-shadow: none;
}
}
/* Code blocks */
pre[class*="language-"] {
padding: 1em;
margin: .5em 0;
overflow: auto;
}
:not(pre) > code[class*="language-"],
pre[class*="language-"] {
background: #FFF;
border: 1px solid #F0F0F0;
border-left: 2px solid #3BAFDA;
border-radius: 4px;
}
/* Inline code */
:not(pre) > code[class*="language-"] {
padding: .1em;
border-radius: .3em;
white-space: normal;
}
.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
color: slategray;
}
.token.punctuation {
color: #999;
}
.namespace {
opacity: .7;
}
.token.property,
.token.tag,
.token.boolean,
.token.number,
.token.constant,
.token.symbol,
.token.deleted {
color: #905;
}
.token.selector,
.token.attr-name,
.token.string,
.token.char,
.token.builtin,
.token.inserted {
color: #690;
}
.token.operator,
.token.entity,
.token.url,
.language-css .token.string,
.style .token.string {
color: #a67f59;
background: hsla(0, 0%, 100%, .5);
}
.token.atrule,
.token.attr-value,
.token.keyword {
color: #07a;
}
.token.function {
color: #DD4A68;
}
.token.regex,
.token.important,
.token.variable {
color: #e90;
}
.token.important,
.token.bold {
font-weight: bold;
}
.token.italic {
font-style: italic;
}
.token.entity {
cursor: help;
}
pre[data-line] {
position: relative;
padding: 1em 0 1em 3em;
}
pre[data-file]::before {
content: attr(data-file);
position: absolute;
top: 0;
right: 0;
}
.line-highlight {
position: absolute;
left: 0;
right: 0;
padding: inherit 0;
margin-top: 1em; /* Same as .prism’s padding-top */
background: hsla(24, 20%, 50%,.08);
background: -moz-linear-gradient(to right, hsla(186, 83%, 68%, 0.11) 70%, hsla(186, 33%, 82%, 0));
background: -webkit-linear-gradient(to right, hsla(186, 83%, 68%, 0.11) 70%, hsla(186, 33%, 82%, 0));
background: -o-linear-gradient(to right, hsla(186, 83%, 68%, 0.11) 70%, hsla(186, 33%, 82%, 0));
background: linear-gradient(to right,hsla(186, 83%, 68%, 0.11) 70%,hsla(186, 33%, 82%, 0));
pointer-events: none;
line-height: inherit;
white-space: pre;
}
.line-highlight:before,
.line-highlight[data-end]:after {
content: attr(data-start);
position: absolute;
top: .4em;
left: .6em;
min-width: 1em;
padding: 0 .5em;
color: #187798;
font: 75%/1.5 sans-serif;
text-align: center;
vertical-align: .3em;
border-radius: 999px;
text-shadow: none;
box-shadow: 0 1px white;
}
.line-highlight[data-end]:after {
content: attr(data-end);
top: auto;
bottom: .4em;
}
pre.line-numbers {
position: relative;
padding-left: 3.8em;
counter-reset: linenumber;
}
pre.line-numbers > code {
position: relative;
}
.line-numbers .line-numbers-rows {
position: absolute;
pointer-events: none;
top: 0;
font-size: 100%;
left: -3.8em;
width: 3em; /* works for line-numbers below 1000 lines */
letter-spacing: -1px;
border-right: 1px solid #999;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.line-numbers-rows > span {
pointer-events: none;
display: block;
counter-increment: linenumber;
}
.line-numbers-rows > span:before {
content: counter(linenumber);
color: #999;
display: block;
padding-right: 0.8em;
text-align: right;
}
.token.tab:not(:empty),
.token.cr,
.token.lf,
.token.space {
position: relative;
}
.token.tab:not(:empty):before,
.token.cr:before,
.token.lf:before,
.token.space:before {
color: hsl(24, 20%, 85%);
position: absolute;
}
.token.tab:not(:empty):before {
content: '\21E5';
}
.token.cr:before {
content: '\240D';
}
.token.crlf:before {
content: '\240D\240A';
}
.token.lf:before {
content: '\240A';
}
.token.space:before {
content: '\00B7';
}
.token a {
color: inherit;
}
div.prism-show-language {
position: relative;
}
div.prism-show-language > div.prism-show-language-label {
color: #555;
background-color: #E5E5E5;
display: inline-block;
position: absolute;
bottom: auto;
left: auto;
top: 0;
right: 0;
width: auto;
height: auto;
font-size: 0.9em;
border-radius: 0 4px 0 0;
padding: 0 0.5em;
text-shadow: none;
z-index: 1;
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
-webkit-transform: none;
-moz-transform: none;
-ms-transform: none;
-o-transform: none;
transform: none;
}
/* Fallback, in case JS does not run, to ensure the code is at least visible */
.lang-markup script[type='text/plain'],
.language-markup script[type='text/plain'],
script[type='text/plain'].lang-markup,
script[type='text/plain'].language-markup {
display: block;
font: 100% Consolas, Monaco, monospace;
white-space: pre;
overflow: auto;
}
.command-line-prompt {
border-right: 1px solid #999;
display: block;
float: left;
font-size: 100%;
letter-spacing: -1px;
margin-right: 1em;
pointer-events: none;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.command-line-prompt > span:before {
color: #999;
content: ' ';
display: block;
padding-right: 0.8em;
}
.command-line-prompt > span[data-user]:before {
content: "[" attr(data-user) "@" attr(data-host) "] $";
}
.command-line-prompt > span[data-user="root"]:before {
content: "[" attr(data-user) "@" attr(data-host) "] #";
}
.command-line-prompt > span[data-prompt]:before {
content: attr(data-prompt);
}

113
src/main/resources/static/files/assets/pages/product-detail/product-detail.js

@ -0,0 +1,113 @@
'use strict';
$(document).ready(function() {
// Header_portfolio js starts
$('#big_banner').slick({
slidesToShow: 1,
slidesToScroll: 1,
arrows: false,
fade: true,
autoplay: true,
autoplaySpeed: 2000,
asNavFor: '#small_banner'
});
$('#small_banner').slick({
slidesToShow:4,
slidesToScroll: 1,
asNavFor: '#big_banner',
dots: false,
centerMode: true,
autoplay: true,
arrows: true,
autoplaySpeed: 2000,
focusOnSelect: true,
responsive: [, {
breakpoint: 480,
settings: {
slidesToShow: 3,
slidesToScroll: 1
}
},
]
});
// Header_portfolio js ends
// Minus And Plus in Input Caunter
//plugin bootstrap minus and plus
//http://jsfiddle.net/laelitenetwork/puJ6G/
$( document ).ready(function() {
$('.btn-number').on('click',function(e){
e.preventDefault();
var fieldName = $(this).attr('data-field');
var type = $(this).attr('data-type');
var input = $("input[name='"+fieldName+"']");
var currentVal = parseInt(input.val());
if (!isNaN(currentVal)) {
if(type == 'minus') {
var minValue = parseInt(input.attr('min'));
if(!minValue) minValue = 1;
if(currentVal > minValue) {
input.val(currentVal - 1).change();
}
if(parseInt(input.val()) == minValue) {
$(this).attr('disabled', true);
}
} else if(type == 'plus') {
var maxValue = parseInt(input.attr('max'));
if(!maxValue) maxValue = 9999999999999;
if(currentVal < maxValue) {
input.val(currentVal + 1).change();
}
if(parseInt(input.val()) == maxValue) {
$(this).attr('disabled', true);
}
}
} else {
input.val(0);
}
});
$('.input-number').focusin(function(){
$(this).data('oldValue', $(this).val());
});
$('.input-number').change(function() {
var minValue = parseInt($(this).attr('min'));
var maxValue = parseInt($(this).attr('max'));
if(!minValue) minValue = 1;
if(!maxValue) maxValue = 9999999999999;
var valueCurrent = parseInt($(this).val());
var name = $(this).attr('name');
if(valueCurrent >= minValue) {
$(".btn-number[data-type='minus'][data-field='"+name+"']").removeAttr('disabled')
} else {
alert('Sorry, the minimum value was reached');
$(this).val($(this).data('oldValue'));
}
if(valueCurrent <= maxValue) {
$(".btn-number[data-type='plus'][data-field='"+name+"']").removeAttr('disabled')
} else {
alert('Sorry, the maximum value was reached');
$(this).val($(this).data('oldValue'));
}
});
$(".input-number").keydown(function (e) {
// Allow: backspace, delete, tab, escape, enter and .
if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 190]) !== -1 ||
// Allow: Ctrl+A
(e.keyCode == 65 && e.ctrlKey === true) ||
// Allow: home, end, left, right
(e.keyCode >= 35 && e.keyCode <= 39)) {
// let it happen, don't do anything
return;
}
// Ensure that it is a number and stop the keypress
if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {
e.preventDefault();
}
});
});
});

25
src/main/resources/static/files/assets/pages/product-list/product-list.js

@ -0,0 +1,25 @@
'use strict';
$(document).ready(function() {
$('#e-product-list').DataTable({
"paging": true,
"ordering": false,
"bLengthChange": false,
"info": false,
"searching": false
});
$(".save_btn").on("click", function() {
$('.pname').val('');
$('.jFiler-items').css('display','none');
$('.stock').val('');
$('.pamount').val('');
$("#modal-13").modal('hide');
});
$(".close_btn").on("click", function() {
$('.pname').val('');
$('.jFiler-items').css('display','none');
$('.stock').val('');
$('.pamount').val('');
});
} );

215
src/main/resources/static/files/assets/pages/range-slider.js

@ -0,0 +1,215 @@
'use strict';
$(document).ready(function() {
// range slider
$('#ex1').slider({
formatter: function(value) {
return 'Current value: ' + value;
}
});
// With JQuery
$("#ex2").slider({});
//#ex3
var RGBChange = function() {
$('#RGB').css('background', 'rgb(' + r.getValue() + ',' + g.getValue() + ',' + b.getValue() + ')')
};
var r = $('#R').slider()
.on('slide', RGBChange)
.data('slider');
var g = $('#G').slider()
.on('slide', RGBChange)
.data('slider');
var b = $('#B').slider()
.on('slide', RGBChange)
.data('slider');
//#ex4
$("#ex4").slider({
reversed: true
});
//#ex6
$("#ex6").slider();
$("#ex6").on("slide", function(slideEvt) {
$("#ex6SliderVal").text(slideEvt.value);
});
//#8
var slider = new Slider("#ex8", {
tooltip: 'always'
});
//#9
var slider = new Slider("#ex9", {
precision: 2,
value: 8.115 // Slider will instantiate showing 8.12 due to specified precision
});
//#10
var slider = new Slider("#ex10", {});
//#11
var slider = new Slider("#ex11", {
step: 20000,
min: 0,
max: 200000,
tooltip: 'always'
});
//#12
$("#ex12a").slider({ id: "slider12a", min: 0, max: 10, value: 5 });
$("#ex12b").slider({ id: "slider12b", min: 0, max: 10, range: true, value: [3, 7] });
$("#ex12c").slider({ id: "slider12c", min: 0, max: 10, range: true, value: [3, 7] });
//#13
$("#ex13").slider({
ticks: [0, 100, 200, 300, 400],
ticks_labels: ['$0', '$100', '$200', '$300', '$400'],
ticks_snap_bounds: 30
});
//#14
$("#ex14").slider({
ticks: [0, 100, 200, 300, 400],
ticks_positions: [0, 15, 35, 60, 90, 100],
ticks_labels: ['$0', '$100', '$200', '$300', '$400'],
ticks_snap_bounds: 30
});
// #15
$("#ex15").slider({
min: 1000,
max: 10000000,
scale: 'logarithmic',
step: 10
});
//#16
$("#ex16a").slider({ min: 0, max: 10, value: 0, focus: true });
$("#ex16b").slider({ min: 0, max: 10, value: [0, 10], focus: true });
// #ex17
$("#ex17a").slider({
min: 0,
max: 10,
value: 0,
tooltip_position: 'bottom'
});
$("#ex17b").slider({
min: 0,
max: 10,
value: 0,
orientation: 'vertical',
tooltip_position: 'left'
});
// #ex18
$("#ex18a").slider({
min: 0,
max: 10,
value: 5,
labelledby: 'ex18-label-1'
});
$("#ex18b").slider({
min: 0,
max: 10,
value: [3, 6],
labelledby: ['ex18-label-2a', 'ex18-label-2b']
});
//#ex19 no script
//#ex20
$('#ex20a').on('click', function(e) {
$('#ex20a')
.parent()
.find(' >.show-well')
.toggle()
.find('input')
.slider('relayout');
e.preventDefault();
});
//#21 no script
//#22
// With JQuery
$('#ex22').slider({
id: 'slider22',
min: 0,
max: 20,
step: 1,
value: 14,
rangeHighlights: [{ "start": 2, "end": 5 },
{ "start": 7, "end": 8 },
{ "start": 17, "end": 19 },
{ "start": 17, "end": 24 },
{ "start": -3, "end": 19 }
]
});
//#23
$("#ex23").slider({
ticks: [0, 1, 2, 3, 4],
ticks_positions: [0, 30, 60, 70, 90, 100],
ticks_snap_bounds: 200,
formatter: function(value) {
return 'Current value: ' + value;
},
ticks_tooltip: true,
step: 0.01
});
//#ex5
var slider = new Slider('#ex5');
$("#destroyEx5Slider").on('click',function() {
// With JQuery
$("#ex5").slider('destroy');
// Without JQuery
slider.destroy();
});
//#7
var slider = new Slider("#ex7");
$("#ex7-enabled").on('click',function() {
if (this.checked) {
// With JQuery
$("#ex7").slider("enable");
// Without JQuery
slider.enable();
} else {
// With JQuery
$("#ex7").slider("disable");
// Without JQuery
slider.disable();
}
});
});

124
src/main/resources/static/files/assets/pages/rating/rating.js

@ -0,0 +1,124 @@
'use strict';
$(document).ready(function() {
function ratingEnable() {
$('#example-1to10').barrating('show', {
theme: 'bars-1to10'
});
$('#example-movie').barrating('show', {
theme: 'bars-movie'
});
$('#example-movie').barrating('set', 'Mediocre');
$('#example-square').barrating('show', {
theme: 'bars-square',
showValues: true,
showSelectedRating: false
});
$('#example-pill').barrating('show', {
theme: 'bars-pill',
initialRating: 'A',
showValues: true,
showSelectedRating: false,
allowEmpty: true,
emptyValue: '-- no rating selected --',
onSelect: function(value, text) {
alert('Selected rating: ' + value);
}
});
$('#example-reversed').barrating('show', {
theme: 'bars-reversed',
showSelectedRating: true,
reverse: true
});
$('#example-horizontal').barrating('show', {
theme: 'bars-horizontal',
reverse: true,
hoverState: false
});
$('#example-fontawesome').barrating({
theme: 'fontawesome-stars',
showSelectedRating: false
});
$('.rating-star').barrating({
theme: 'css-stars',
showSelectedRating: false
});
$('#example-bootstrap').barrating({
theme: 'bootstrap-stars',
showSelectedRating: false
});
var currentRating = $('#example-fontawesome-o').data('current-rating');
$('.stars-example-fontawesome-o .current-rating')
.find('span')
.html(currentRating);
$('.stars-example-fontawesome-o .clear-rating').on('click', function(event) {
event.preventDefault();
$('#example-fontawesome-o')
.barrating('clear');
});
$('#example-fontawesome-o').barrating({
theme: 'fontawesome-stars-o',
showSelectedRating: false,
initialRating: currentRating,
onSelect: function(value, text) {
if (!value) {
$('#example-fontawesome-o')
.barrating('clear');
} else {
$('.stars-example-fontawesome-o .current-rating')
.addClass('hidden');
$('.stars-example-fontawesome-o .your-rating')
.removeClass('hidden')
.find('span')
.html(value);
}
},
onClear: function(value, text) {
$('.stars-example-fontawesome-o')
.find('.current-rating')
.removeClass('hidden')
.end()
.find('.your-rating')
.addClass('hidden');
}
});
}
function ratingDisable() {
$('select').barrating('destroy');
}
$('.rating-enable').on('click',function(event) {
event.preventDefault();
ratingEnable();
$(this).addClass('deactivated');
$('.rating-disable').removeClass('deactivated');
});
$('.rating-disable').on('click',function(event) {
event.preventDefault();
ratingDisable();
$(this).addClass('deactivated');
$('.rating-enable').removeClass('deactivated');
});
ratingEnable();
});

16
src/main/resources/static/files/assets/pages/session-idle-Timeout/session-idle-Timeout-custom.js

@ -0,0 +1,16 @@
'use strict';
$(document).ready(function() {
// Idle timeout
$.sessionTimeout({
heading: 'h5',
title: 'Idle Timeout',
message: 'Your session is about to expire. Do you want to stay connected?',
warnAfter: 5000,
redirAfter: 15000,
keepAliveUrl: '/',
redirUrl: 'session-idle-timeout.html',
logoutUrl: 'session-idle-timeout.html'
});
});

1
src/main/resources/static/files/assets/pages/session-idle-Timeout/session_timeout.min.js

@ -0,0 +1 @@
"use strict";!function(a){jQuery.sessionTimeout=function(b){function c(){i||(a.ajax({type:"POST",url:h.keepAliveUrl,data:h.ajaxData}),i=!0,setTimeout(function(){i=!1},h.keepAliveInterval))}function d(){clearTimeout(f),h.keepAlive&&c(),f=setTimeout(function(){"function"!=typeof h.onWarn?a("#sessionTimeout-dialog").modal("show"):h.onWarn("warn"),e()},h.warnAfter)}function e(){clearTimeout(f),f=setTimeout(function(){"function"!=typeof h.onRedir?(e("start"),window.location=h.redirUrl):h.onRedir()},h.redirAfter-h.warnAfter)}var f,g={heading:"h5",title:'Session timeout notification',message:"Your session is about to expire.",keepBtnText:"Stay connected",keepBtnClass:"btn btn-primary",logoutBtnText:"Logout",logoutBtnClass:"btn btn-danger",keepAliveUrl:"/keep-alive",ajaxData:"",redirUrl:"/timed-out",logoutUrl:"/log-out",warnAfter:9e5,redirAfter:12e5,keepAliveInterval:5e3,keepAlive:!0,ignoreUserActivity:!1,onWarn:!1,onRedir:!1},h=g;if(b&&(h=a.extend(g,b)),h.warnAfter>=h.redirAfter)return("undefined"!=typeof console||"undefined"!=typeof console.error)&&console.error('Bootstrap-session-timeout plugin is miss-configured. Option "redirAfter" must be equal or greater than "warnAfter".'),!1;"function"!=typeof h.onWarn&&(a("body").append('<div class="modal fade" id="sessionTimeout-dialog"><div class="modal-dialog"><div class="modal-content"><div class="modal-header"><'+h.heading+' class="modal-title">'+h.title+'</'+h.message+'><button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button></div><div class="modal-body">'+h.message+'</div><div class="modal-footer"><button id="sessionTimeout-dialog-keepalive" type="button" class="'+h.keepBtnClass+'" data-dismiss="modal">'+h.keepBtnText+'</button><button id="sessionTimeout-dialog-logout" type="button" class="'+h.logoutBtnClass+'">'+h.logoutBtnText+'</button></div></div></div></div>'),a("#sessionTimeout-dialog-logout").on("click",function(){window.location=h.logoutUrl}),a("#sessionTimeout-dialog").on("hide.bs.modal",function(){d()})),h.ignoreUserActivity||a(document).on("keyup mouseup mousemove touchend touchmove",function(){d()});var i=!1;d()}}(jQuery);

44
src/main/resources/static/files/assets/pages/sessionTimeout/sessionTimeout-custom.js

@ -0,0 +1,44 @@
'use strict';
! function(e) { "use strict";
e.sessionTimeout = function(t) {
function o() { f || (e.ajax({ type: d.ajaxType, url: d.keepAliveUrl, data: d.ajaxData }), f = !0, setTimeout(function() { f = !1 }, d.keepAliveInterval)) }
function i() { clearTimeout(a), (d.countdownMessage || d.countdownBar) && s("session", !0), "function" == typeof d.onStart && d.onStart(d), d.keepAlive && o(), a = setTimeout(function() { "function" != typeof d.onWarn ? e("#session-timeout-dialog").modal("show") : d.onWarn(d), n() }, d.warnAfter) }
function n() { clearTimeout(a), e("#session-timeout-dialog").hasClass("in") || !d.countdownMessage && !d.countdownBar || s("dialog", !0), a = setTimeout(function() { "function" != typeof d.onRedir ? window.location = d.redirUrl : d.onRedir(d) }, d.redirAfter - d.warnAfter) }
function s(t, o) { clearTimeout(l.timer), "dialog" === t && o ? l.timeLeft = Math.floor((d.redirAfter - d.warnAfter) / 1e3) : "session" === t && o && (l.timeLeft = Math.floor(d.redirAfter / 1e3)), d.countdownBar && "dialog" === t ? l.percentLeft = Math.floor(l.timeLeft / ((d.redirAfter - d.warnAfter) / 1e3) * 100) : d.countdownBar && "session" === t && (l.percentLeft = Math.floor(l.timeLeft / (d.redirAfter / 1e3) * 100));
var i = e(".countdown-holder"),
n = l.timeLeft >= 0 ? l.timeLeft : 0;
if (d.countdownSmart) {
var a = Math.floor(n / 60),
r = n % 60,
u = a > 0 ? a + "m" : "";
u.length > 0 && (u += " "), u += r + "s", i.text(u) } else i.text(n + "s");
d.countdownBar && e(".countdown-bar").css("width", l.percentLeft + "%"), l.timeLeft = l.timeLeft - 1, l.timer = setTimeout(function() { s(t) }, 1e3) }
var a, r = { title: "Your Session is About to Expire!", message: "Your session is about to expire.", logoutButton: "Logout", keepAliveButton: "Stay Connected", keepAliveUrl: "/new-able/default/session-timeout.html", ajaxType: "POST", ajaxData: "", redirUrl: "/timed-out", logoutUrl: "/log-out", warnAfter: 9e5, redirAfter: 12e5, keepAliveInterval: 5e3, keepAlive: !0, ignoreUserActivity: !1, onStart: !1, onWarn: !1, onRedir: !1, countdownMessage: !1, countdownBar: !1, countdownSmart: !1 },
d = r,
l = {};
if (t && (d = e.extend(r, t)), d.warnAfter >= d.redirAfter) return console.error('Bootstrap-session-timeout plugin is miss-configured. Option "redirAfter" must be equal or greater than "warnAfter".'), !1;
if ("function" != typeof d.onWarn) {
var u = d.countdownMessage ? "<p>" + d.countdownMessage.replace(/{timer}/g, '<span class="countdown-holder"></span>') + "</p>" : "",
c = d.countdownBar ? '<div class="progress progress-lg"> <div class="progress-bar progress-bar-success countdown-bar active" role="progressbar" style="min-width: 15px; width: 100%;"> <span class="countdown-holder"></span> </div> </div>' : "";
e("body").append('<div class="modal fade" id="session-timeout-dialog"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <h4 class="modal-title">' + d.title + '</h4> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button> </div> <div class="modal-body"> <p>' + d.message + "</p> " + u + " " + c + ' </div> <div class="modal-footer"> <button id="session-timeout-dialog-logout" type="button" class="btn btn-default">' + d.logoutButton + '</button> <button id="session-timeout-dialog-keepalive" type="button" class="btn btn-primary" data-dismiss="modal">' + d.keepAliveButton + "</button> </div> </div> </div> </div>"), e("#session-timeout-dialog-logout").on("click", function() { window.location = d.logoutUrl }), e("#session-timeout-dialog").on("hide.bs.modal", function() { i() }) }
if (!d.ignoreUserActivity) {
var m = [-1, -1];
e(document).on("keyup mouseup mousemove touchend touchmove", function(t) {
if ("mousemove" === t.type) {
if (t.clientX === m[0] && t.clientY === m[1]) return;
m[0] = t.clientX, m[1] = t.clientY }
i(), e("#session-timeout-dialog").length > 0 && e("#session-timeout-dialog").data("bs.modal") && e("#session-timeout-dialog").data("bs.modal").isShown && (e("#session-timeout-dialog").modal("hide"), e("body").removeClass("modal-open"), e("div.modal-backdrop").remove()) }) }
var f = !1;
i() } }(jQuery);
$(document).ready(function() {
$.sessionTimeout({
warnAfter: 3000,
redirAfter: 300000,
message: 'Your session is expiring soon.',
logoutUrl: 'session-timeout.html'
});
});

403
src/main/resources/static/files/assets/pages/social-timeline/social.js

@ -0,0 +1,403 @@
'use strict';
$(document).ready(function() {
// Edit information
$('#edit-info').hide();
$('#edit-cancel').on('click', function() {
var c = $('#edit-btn').find("i");
c.removeClass('icofont-close');
c.addClass('icofont-edit');
$('#view-info').show();
$('#edit-info').hide();
});
$('#edit-save').on('click', function() {
var c = $('#edit-btn').find("i");
c.removeClass('icofont-close');
c.addClass('icofont-edit');
$('#view-info').show();
$('#edit-info').hide();
});
$('#edit-btn').on('click', function() {
var b = $(this).find("i");
var edit_class = b.attr('class');
if (edit_class == 'icofont icofont-edit') {
b.removeClass('icofont-edit');
b.addClass('icofont-close');
$('#view-info').hide();
$('#edit-info').show();
} else {
b.removeClass('icofont-close');
b.addClass('icofont-edit');
$('#view-info').show();
$('#edit-info').hide();
}
});
// Edit contact
$('#edit-contact-info').hide();
$('#contact-save').on('click', function() {
var c = $('#edit-Contact').find("i");
c.removeClass('icofont-close');
c.addClass('icofont-edit');
$('#contact-info').show();
$('#edit-contact-info').hide();
});
$('#contact-cancel').on('click', function() {
var c = $('#edit-Contact').find("i");
c.removeClass('icofont-close');
c.addClass('icofont-edit');
$('#contact-info').show();
$('#edit-contact-info').hide();
});
$('#edit-Contact').on('click', function() {
var b = $(this).find("i");
var edit_class = b.attr('class');
if (edit_class == 'icofont icofont-edit') {
b.removeClass('icofont-edit');
b.addClass('icofont-close');
$('#contact-info').hide();
$('#edit-contact-info').show();
} else {
b.removeClass('icofont-close');
b.addClass('icofont-edit');
$('#contact-info').show();
$('#edit-contact-info').hide();
}
});
// Edit work
$('#edit-contact-work').hide();
$('#work-save').on('click', function() {
var c = $('#edit-work').find("i");
c.removeClass('icofont-close');
c.addClass('icofont-edit');
$('#work-info').show();
$('#edit-contact-work').hide();
});
$('#work-cancel').on('click', function() {
var c = $('#edit-work').find("i");
c.removeClass('icofont-close');
c.addClass('icofont-edit');
$('#work-info').show();
$('#edit-contact-work').hide();
});
$('#edit-work').on('click', function() {
var b = $(this).find("i");
var edit_class = b.attr('class');
if (edit_class == 'icofont icofont-edit') {
b.removeClass('icofont-edit');
b.addClass('icofont-close');
$('#work-info').hide();
$('#edit-contact-work').show();
} else {
b.removeClass('icofont-close');
b.addClass('icofont-edit');
$('#work-info').show();
$('#edit-contact-work').hide();
}
});
$('#post-new').hide();
$('#post-message').keyup(function() {
if (($(this).val() != "")) {
$('#post-new').show();
} else
$('#post-new').hide();
});
// Minimum setup
$('#datetimepicker1').datetimepicker({
icons: {
time: "icofont icofont-clock-time",
date: "icofont icofont-ui-calendar",
up: "icofont icofont-rounded-up",
down: "icofont icofont-rounded-down",
next: "icofont icofont-rounded-right",
previous: "icofont icofont-rounded-left"
}
});
// Using Locales
$('#datetimepicker2').datetimepicker({
locale: 'ru',
icons: {
time: "icofont icofont-clock-time",
date: "icofont icofont-ui-calendar",
up: "icofont icofont-rounded-up",
down: "icofont icofont-rounded-down",
next: "icofont icofont-rounded-right",
previous: "icofont icofont-rounded-left"
}
});
// Custom Formats
$('#datetimepicker3').datetimepicker({
format: 'LT',
icons: {
time: "icofont icofont-clock-time",
date: "icofont icofont-ui-calendar",
up: "icofont icofont-rounded-up",
down: "icofont icofont-rounded-down",
next: "icofont icofont-rounded-right",
previous: "icofont icofont-rounded-left"
}
});
// No Icon (input field only)
$('#datetimepicker4').datetimepicker({
icons: {
time: "icofont icofont-clock-time",
date: "icofont icofont-ui-calendar",
up: "icofont icofont-rounded-up",
down: "icofont icofont-rounded-down",
next: "icofont icofont-rounded-right",
previous: "icofont icofont-rounded-left"
}
});
// Enabled/Disabled Dates
$('#datetimepicker5').datetimepicker({
defaultDate: "11/1/2013",
disabledDates: [
moment("12/25/2013"),
new Date(2013, 11 - 1, 21),
"11/22/2013 00:53"
],
icons: {
time: "icofont icofont-clock-time",
date: "icofont icofont-ui-calendar",
up: "icofont icofont-rounded-up",
down: "icofont icofont-rounded-down",
next: "icofont icofont-rounded-right",
previous: "icofont icofont-rounded-left"
}
});
// Linked Pickers
$('#datetimepicker6').datetimepicker({
icons: {
time: "icofont icofont-clock-time",
date: "icofont icofont-ui-calendar",
up: "icofont icofont-rounded-up",
down: "icofont icofont-rounded-down",
next: "icofont icofont-rounded-right",
previous: "icofont icofont-rounded-left"
}
});
$('#datetimepicker7').datetimepicker({
useCurrent: false, //Important! See issue #1075
icons: {
time: "icofont icofont-clock-time",
date: "icofont icofont-ui-calendar",
up: "icofont icofont-rounded-up",
down: "icofont icofont-rounded-down",
next: "icofont icofont-rounded-right",
previous: "icofont icofont-rounded-left"
}
});
$("#datetimepicker6").on("dp.change", function(e) {
$('#datetimepicker7').data("DateTimePicker").minDate(e.date);
});
$("#datetimepicker7").on("dp.change", function(e) {
$('#datetimepicker6').data("DateTimePicker").maxDate(e.date);
});
// Custom icons
$('#datetimepicker8').datetimepicker({
icons: {
time: "icofont icofont-clock-time",
date: "icofont icofont-ui-calendar",
up: "icofont icofont-rounded-up",
down: "icofont icofont-rounded-down"
}
});
// View Mode
$('#datetimepicker9').datetimepicker({
viewMode: 'years',
icons: {
time: "icofont icofont-clock-time",
date: "icofont icofont-ui-calendar",
up: "icofont icofont-rounded-up",
down: "icofont icofont-rounded-down",
next: "icofont icofont-rounded-right",
previous: "icofont icofont-rounded-left"
}
});
// Min View Mode
$('#datetimepicker10').datetimepicker({
viewMode: 'years',
format: 'MM/YYYY',
icons: {
time: "icofont icofont-clock-time",
date: "icofont icofont-ui-calendar",
up: "icofont icofont-rounded-up",
down: "icofont icofont-rounded-down",
next: "icofont icofont-rounded-right",
previous: "icofont icofont-rounded-left"
}
});
// Disabled Days of the Week
$('#datetimepicker11').datetimepicker({
daysOfWeekDisabled: [0, 6],
icons: {
time: "icofont icofont-clock-time",
date: "icofont icofont-ui-calendar",
up: "icofont icofont-rounded-up",
down: "icofont icofont-rounded-down",
next: "icofont icofont-rounded-right",
previous: "icofont icofont-rounded-left"
}
});
$('input[name="daterange"]').daterangepicker();
$(function() {
$('input[name="birthdate"]').daterangepicker({
singleDatePicker: true,
showDropdowns: true
},
function(start, end, label) {
var years = moment().diff(start, 'years');
alert("You are " + years + " years old.");
});
$('input[name="datefilter"]').daterangepicker({
autoUpdateInput: false,
locale: {
cancelLabel: 'Clear'
}
});
$('input[name="datefilter"]').on('apply.daterangepicker', function(ev, picker) {
$(this).val(picker.startDate.format('MM/DD/YYYY') + ' - ' + picker.endDate.format('MM/DD/YYYY'));
});
$('input[name="datefilter"]').on('cancel.daterangepicker', function(ev, picker) {
$(this).val('');
});
var start = moment().subtract(29, 'days');
var end = moment();
function cb(start, end) {
$('#reportrange span').html(start.format('MMMM D, YYYY') + ' - ' + end.format('MMMM D, YYYY'));
}
$('#reportrange').daterangepicker({
startDate: start,
endDate: end,
"drops": "up",
ranges: {
'Today': [moment(), moment()],
'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
'Last 7 Days': [moment().subtract(6, 'days'), moment()],
'Last 30 Days': [moment().subtract(29, 'days'), moment()],
'This Month': [moment().startOf('month'), moment().endOf('month')],
'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')]
}
}, cb);
cb(start, end);
$('.input-daterange input').each(function() {
$(this).datepicker();
});
$('#sandbox-container .input-daterange').datepicker({
todayHighlight: true
});
$('.input-group-date-custom').datepicker({
todayBtn: true,
clearBtn: true,
keyboardNavigation: false,
forceParse: false,
todayHighlight: true,
defaultViewDate: {
year: '2017',
month: '01',
day: '01'
}
});
$('.multiple-select').datepicker({
todayBtn: true,
clearBtn: true,
multidate: true,
keyboardNavigation: false,
forceParse: false,
todayHighlight: true,
defaultViewDate: {
year: '2017',
month: '01',
day: '01'
}
});
$('#config-demo').daterangepicker({
"singleDatePicker": true,
"showDropdowns": true,
"timePicker": true,
"timePicker24Hour": true,
"timePickerSeconds": true,
"showCustomRangeLabel": false,
"alwaysShowCalendars": true,
"startDate": "11/30/2016",
"endDate": "12/06/2016",
"drops": "up"
}, function(start, end, label) {
console.log("New date range selected: ' + start.format('YYYY-MM-DD') + ' to ' + end.format('YYYY-MM-DD') + ' (predefined range: ' + label + ')");
});
});
// Date-dropper js start
$("#dropper-default").dateDropper({
dropWidth: 200,
dropPrimaryColor: "#1abc9c",
dropBorder: "1px solid #1abc9c"
}),
// Date-dropper js end
// Mini-color js start
$('.demo').each(function() {
//
// Dear reader, it's actually very easy to initialize MiniColors. For example:
//
// $(selector).minicolors();
//
// The way I've done it below is just for the demo, so don't get confused
// by it. Also, data- attributes aren't supported at this time...they're
// only used for this demo.
//
$(this).minicolors({
control: $(this).attr('data-control') || 'hue',
defaultValue: $(this).attr('data-defaultValue') || '',
format: $(this).attr('data-format') || 'hex',
keywords: $(this).attr('data-keywords') || '',
inline: $(this).attr('data-inline') === 'true',
letterCase: $(this).attr('data-letterCase') || 'lowercase',
opacity: $(this).attr('data-opacity'),
position: $(this).attr('data-position') || 'bottom left',
swatches: $(this).attr('data-swatches') ? $(this).attr('data-swatches').split('|') : [],
change: function(value, opacity) {
if (!value) return;
if (opacity) value += ', ' + opacity;
if (typeof console === 'object') {
console.log(value);
}
},
theme: 'bootstrap'
});
});
// Mini-color js ends
});

280
src/main/resources/static/files/assets/pages/social-timeline/timeline.css

@ -0,0 +1,280 @@
/*=========Timeline social css start =============*/
.width-100 {
width: 100%;
}
.card.social-tabs{
border-top:none;
}
.timeline-right .card, .timeline-left .card{
border-top:none;
box-shadow:0 0 1px 2px rgba(0, 0, 0, 0.05), 0 -2px 1px -2px rgba(0, 0, 0, 0.04), 0 0 0 -1px rgba(0, 0, 0, 0.05);
transition:all 180ms linear;
}
.timeline-right .card:hover, .timeline-left .card:hover{
box-shadow:0 0 25px -5px #9e9c9e;
transition: all 180ms linear;
}
.timeline-icon{
z-index:1;
}
.tab-pane form .md-add-on i{
font-size: 20px;
}
.wall-elips{
position: absolute;
right: 15px;
}
.social-wallpaper{
position: relative;
}
.social-profile {
position: relative;
padding-top: 15px;
}
.timeline-btn{
position: absolute;
bottom: 0;
right: 30px;
}
.nav-tabs.md-tabs.tab-timeline li a{
padding: 20px 0 10px;
color: #666666;
font-size: 18px;
}
.social-timeline-left{
position: absolute;
top: -200px;
}
.post-input{
padding: 10px 10px 10px 5px;
display: block;
width: 100%;
border: none;
resize: none;
}
.user-box .media-object, .friend-box .media-object{
height:45px;
width: 45px;
display: inline-block;
}
.friend-box img{
margin-right: 10px;
margin-bottom: 10px;
}
.user-box .media-left{
position: relative;
}
.chat-header{
color: #222222;
}
.live-status{
height: 7px;
width: 7px;
position: absolute;
bottom: 0;
right: 17px;
border-radius: 100%;
border: 1px solid;
}
.tab-timeline .slide{
bottom: -1px;
}
.image-upload input {
visibility:hidden;
max-width:0;
max-height:0
}
.file-upload-lbl{
max-width: 15px;
padding: 5px 0 0;
}
.ellipsis::after{
top: 15px;
border: none;
position: absolute;
content: '\f142';
font-family: FontAwesome;
}
.elipsis-box{
box-shadow: 0 0 5px 1px rgba(0, 0, 0, 0.11);
top: 40px;
right: -10px;
}
.elipsis-box:after{
content: '';
height: 13px;
width: 13px;
background: #fff;
position: absolute;
top: -5px;
right: 10px;
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
transform: rotate(45deg);
box-shadow: -3px -3px 11px 1px rgba(170, 170, 170, 0.22);
}
.friend-elipsis{
left: -10px;
top:-10px;
}
.social-profile:hover .profile-hvr,.social-wallpaper:hover .profile-hvr{
opacity:1;
transition: all ease-in-out 0.3s;
}
.profile-hvr{
opacity: 0;
position: absolute;
text-align: center;
width: 100%;
font-size: 20px;
padding:10px;
top: 0;
color: #fff;
background-color: rgba(0, 0, 0, 0.61);
transition: all ease-in-out 0.3s;
}
.social-profile{
margin: 0 15px;
}
.social-follower{
text-align: center;
}
.social-follower h4{
font-size: 18px;
margin-bottom: 10px;
font-style: normal;
}
.social-follower h5{
font-size: 14px;
font-weight: 300;
}
.social-follower .follower-counter{
text-align: center;
margin-top: 25px;
margin-bottom: 25px;
font-size: 13px;
}
.social-follower .follower-counter .txt-primary{
font-size: 24px;
}
.timeline-icon{
height: 45px;
width: 45px;
display: block;
margin: 0 auto;
border: 4px #fff solid;
}
.social-timelines-left:after{
height: 3px;
width: 25%;
position: absolute;
background: #cccccc;
top: 20px;
content: "";
right: 0;
z-index: 0;
}
.social-timelines:before {
position: absolute;
content: ' ';
width: 3px;
background: #cccccc;
left: 4%;
z-index:0;
height: 100%;
top:0;
}
.timeline-dot:after,.timeline-dot:before{
content: "";
position: absolute;
height: 9px;
width: 9px;
background-color: #cccccc;
left: 3.8%;
border-radius: 100%;
}
.user-box .social-designation,.post-timelines .social-time{
font-size: 13px;
}
.social-msg span{
color: #666;
padding-left: 10px;
padding-right: 10px;
margin-right: 10px;
}
.view-info .social-label,.contact-info .social-label,.work-info .social-label{
font-size: 15px;
padding-left: 0;
padding-top: 0;
}
.view-info .social-user-name,.contact-info .social-user-name,.work-info .social-user-name{
font-size: 14px;
padding-left: 0;
}
.friend-elipsis .social-designation{
font-size: 13px;
}
.social-client-description{
padding-bottom: 20px;
}
.user-box .media-body{
padding-top: 6px;
}
.timeline-details p{
padding-top: 10px;
}
.timeline-details .chat-header,.post-timelines .chat-header{
font-size: 15px;
}
.social-client-description{
padding-bottom: 20px;
}
.social-client-description p{
margin-top: 5px;
}
.social-client-description span{
font-size: 12px;
margin-left: 10px;
}
.social-client-description .chat-header{
font-size: 13px;
}
.social-tabs a{
font-size: 18px;
}
.timeline-btn a{
margin-bottom: 20px;
}
.profile-hvr i{
cursor: pointer;
}
.social-timelines:before {
position: absolute;
content: ' ';
width: 3px;
background: #cccccc;
left: 4%;
z-index: 0;
height: 100%;
top: 0;
}
.timeline-dot:after, .timeline-dot:before {
content: "";
position: absolute;
height: 9px;
width: 9px;
background-color: #cccccc;
left: 3.8%;
border-radius: 100%;
}
ul#profile-lightgallery {
display: inline-flex;
}
.social-timeline .btn i{
margin-right:0;
}
/*====== Social Timeline css End ======*/
/*=========Timeline social css end =============*/

16
src/main/resources/static/files/assets/pages/sortable-custom.js

@ -0,0 +1,16 @@
'use strict';
$(function(){
Sortable.create(draggablePanelList, {
group: 'draggablePanelList',
animation: 150
});
Sortable.create(draggableMultiple, {
group: 'draggableMultiple',
animation: 150
});
Sortable.create(draggableWithoutImg, {
group: 'draggableWithoutImg',
animation: 150
});
});

3055
src/main/resources/static/files/assets/pages/sparkline/jquery.sparkline.js
File diff suppressed because it is too large
View File

943
src/main/resources/static/files/assets/pages/sticky/css/jquery.postitall.css
File diff suppressed because it is too large
View File

716
src/main/resources/static/files/assets/pages/sticky/css/trumbowyg.css

@ -0,0 +1,716 @@
/**
* Trumbowyg v2.0.0-beta.5 - A lightweight WYSIWYG editor
* Default stylesheet for Trumbowyg editor
* ------------------------
* @link http://alex-d.github.io/Trumbowyg
* @license MIT
* @author Alexandre Demode (Alex-D)
* Twitter : @AlexandreDemode
* Website : alex-d.fr
*/
.trumbowyg-box *,
.trumbowyg-box *::before,
.trumbowyg-box *::after {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box; }
.trumbowyg-box,
.trumbowyg-editor {
display: block;
position: relative;
border: 1px solid #DDD;
width: 96%;
min-height: 300px;
margin: 17px auto; }
.trumbowyg-box .trumbowyg-editor {
margin: 0 auto; }
.trumbowyg-box.trumbowyg-fullscreen {
background: #FEFEFE; }
.trumbowyg-editor,
.trumbowyg-textarea {
position: relative;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
padding: 1% 2%;
min-height: 300px;
width: 100%;
border-style: none;
resize: none;
outline: none; }
.trumbowyg-box-blur .trumbowyg-editor * {
color: transparent !important;
text-shadow: 0 0 7px #333; }
.trumbowyg-box-blur .trumbowyg-editor img {
opacity: .2; }
.trumbowyg-textarea {
position: relative;
display: block;
overflow: auto;
border: none;
white-space: normal;
font-size: 14px;
font-family: "Inconsolata", "Consolas", "Courier", "Courier New", sans-serif;
line-height: 18px; }
.trumbowyg-box.trumbowyg-editor-visible .trumbowyg-textarea {
position: absolute;
top: 37px;
height: 1px !important;
width: 25%;
min-height: 0 !important;
padding: 0 !important;
background: none;
opacity: 0; }
.trumbowyg-box.trumbowyg-editor-hidden .trumbowyg-textarea {
display: block; }
.trumbowyg-box.trumbowyg-editor-hidden .trumbowyg-editor {
display: none; }
.trumbowyg-editor[contenteditable=true]:empty:before {
content: attr(placeholder);
color: #999; }
.trumbowyg-button-pane {
position: relative;
width: 100%;
background: #ecf0f1;
border-bottom: 1px solid #d7e0e2;
margin: 0;
padding: 0;
list-style-type: none;
line-height: 10px;
-webkit-backface-visibility: hidden;
backface-visibility: hidden; }
.trumbowyg-button-pane li {
display: inline-block;
text-align: center;
overflow: hidden;
padding: 0 !important; }
.trumbowyg-button-pane li.trumbowyg-separator {
width: 1px;
background: #d7e0e2;
margin: 0 5px;
height: 35px; }
.trumbowyg-button-pane.trumbowyg-disable li:not(.trumbowyg-not-disable) button:not(.trumbowyg-active) {
opacity: .2;
cursor: default; }
.trumbowyg-button-pane.trumbowyg-disable li.trumbowyg-separator {
background: #e3e9eb; }
.trumbowyg-button-pane li button {
padding: 1px 6px !important; }
.trumbowyg-button-pane:not(.trumbowyg-disable) li button:hover,
.trumbowyg-button-pane:not(.trumbowyg-disable) li button:focus,
.trumbowyg-button-pane li button.trumbowyg-active,
.trumbowyg-button-pane li.trumbowyg-not-disable button:hover,
.trumbowyg-button-pane li.trumbowyg-not-disable button:focus {
background-color: #FFF;
outline: none; }
.trumbowyg-button-pane li .trumbowyg-open-dropdown:after {
display: block;
content: " ";
position: absolute;
top: 25px;
right: 3px;
height: 0;
width: 0;
border: 3px solid transparent;
border-top-color: #555; }
.trumbowyg-button-pane .trumbowyg-buttons-right {
float: right;
width: auto; }
.trumbowyg-button-pane .trumbowyg-buttons-right button {
float: left; }
.trumbowyg-dropdown {
width: 200px;
border: 1px solid #ecf0f1;
padding: 5px 0;
border-top: none;
background: #FFF;
margin-left: -1px;
-webkit-box-shadow: rgba(0, 0, 0, 0.1) 0 2px 3px;
box-shadow: rgba(0, 0, 0, 0.1) 0 2px 3px; }
.trumbowyg-dropdown button {
display: block;
width: 100%;
height: 35px;
line-height: 35px;
text-decoration: none;
background: #FFF;
padding: 0 14px;
color: #333 !important;
border: none;
cursor: pointer;
text-align: left;
font-size: 15px;
-webkit-transition: all 0.15s;
-o-transition: all 0.15s;
transition: all 0.15s; }
.trumbowyg-dropdown button:hover,
.trumbowyg-dropdown button:focus {
background: #ecf0f1; }
/* Modal box */
.trumbowyg-modal {
position: absolute;
top: 0;
left: 50%;
margin-left: -260px;
width: 520px;
height: 350px;
overflow: hidden;
-webkit-backface-visibility: hidden;
backface-visibility: hidden; }
.trumbowyg-modal-box {
position: absolute;
top: 0;
left: 50%;
margin-left: -250px;
width: 500px;
padding-bottom: 45px;
z-index: 1;
background-color: #FFF;
text-align: center;
font-size: 14px;
-webkit-box-shadow: rgba(0, 0, 0, 0.2) 0 2px 3px;
box-shadow: rgba(0, 0, 0, 0.2) 0 2px 3px;
-webkit-backface-visibility: hidden;
backface-visibility: hidden; }
.trumbowyg-modal-box .trumbowyg-modal-title {
font-size: 24px;
font-weight: bold;
margin: 0 0 20px;
padding: 15px 0 13px;
display: block;
border-bottom: 1px solid #EEE;
color: #333;
background: #fbfcfc; }
.trumbowyg-modal-box .trumbowyg-progress {
width: 100%;
background: #F00;
height: 3px;
position: absolute;
top: 58px; }
.trumbowyg-modal-box .trumbowyg-progress .trumbowyg-progress-bar {
background: #2BC06A;
height: 100%;
-webkit-transition: width 0.15s linear;
-o-transition: width 0.15s linear;
transition: width 0.15s linear; }
.trumbowyg-modal-box label {
display: block;
position: relative;
margin: 15px 12px;
height: 27px;
line-height: 27px;
overflow: hidden; }
.trumbowyg-modal-box label .trumbowyg-input-infos {
display: block;
text-align: left;
height: 25px;
line-height: 25px;
-webkit-transition: all .15;
-o-transition: all .15;
transition: all .15; }
.trumbowyg-modal-box label .trumbowyg-input-infos span {
display: block;
color: #69878e;
background-color: #fbfcfc;
border: 1px solid #DEDEDE;
padding: 0 7px;
width: 137px; }
.trumbowyg-modal-box label .trumbowyg-input-infos span.trumbowyg-msg-error {
color: #e74c3c; }
.trumbowyg-modal-box label.trumbowyg-input-error input,
.trumbowyg-modal-box label.trumbowyg-input-error textarea {
border: 1px solid #e74c3c; }
.trumbowyg-modal-box label.trumbowyg-input-error .trumbowyg-input-infos {
margin-top: -27px; }
.trumbowyg-modal-box label input {
position: absolute;
top: 0;
right: 0;
height: 27px;
line-height: 27px;
border: 1px solid #DEDEDE;
background: transparent;
font-size: 14px;
width: 340px;
padding: 0 7px;
-webkit-transition: all 0.15s;
-o-transition: all 0.15s;
transition: all 0.15s; }
.trumbowyg-modal-box label input:hover,
.trumbowyg-modal-box label input:focus {
outline: none;
border: 1px solid #95a5a6; }
.trumbowyg-modal-box label input:focus {
background: rgba(230, 230, 255, 0.1); }
.trumbowyg-modal-box .error {
margin-top: 25px;
display: block;
color: red; }
.trumbowyg-modal-box .trumbowyg-modal-button {
position: absolute;
bottom: 10px;
right: 0;
text-decoration: none;
color: #FFF;
display: block;
width: 100px;
height: 35px;
line-height: 33px;
margin: 0 10px;
background-color: #333;
border: none;
border-top: none;
cursor: pointer;
font-family: "Trebuchet MS", Helvetica, Verdana, sans-serif;
font-size: 16px;
-webkit-transition: all 0.15s;
-o-transition: all 0.15s;
transition: all 0.15s; }
.trumbowyg-modal-box .trumbowyg-modal-button.trumbowyg-modal-submit {
right: 110px;
background: #2bc06a; }
.trumbowyg-modal-box .trumbowyg-modal-button.trumbowyg-modal-submit:hover,
.trumbowyg-modal-box .trumbowyg-modal-button.trumbowyg-modal-submit:focus {
background: #40d47e;
outline: none; }
.trumbowyg-modal-box .trumbowyg-modal-button.trumbowyg-modal-submit:active {
background: #25a25a; }
.trumbowyg-modal-box .trumbowyg-modal-button.trumbowyg-modal-reset {
color: #555;
background: #e6e6e6; }
.trumbowyg-modal-box .trumbowyg-modal-button.trumbowyg-modal-reset:hover,
.trumbowyg-modal-box .trumbowyg-modal-button.trumbowyg-modal-reset:focus {
background: #fbfbfb;
outline: none; }
.trumbowyg-modal-box .trumbowyg-modal-button.trumbowyg-modal-reset:active {
background: #d4d4d4; }
.trumbowyg-overlay {
position: absolute;
background-color: rgba(255, 255, 255, 0.5);
width: 100%;
left: 0;
display: none; }
/**
* Fullscreen
*/
body.trumbowyg-body-fullscreen {
overflow: hidden; }
.trumbowyg-fullscreen {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
margin: 0;
padding: 0;
z-index: 99999; }
.trumbowyg-fullscreen.trumbowyg-box,
.trumbowyg-fullscreen .trumbowyg-editor {
border: none; }
.trumbowyg-fullscreen .trumbowyg-overlay {
height: 100% !important; }
/*
* Reset for resetCss option
*/
.trumbowyg-editor object,
.trumbowyg-editor embed,
.trumbowyg-editor video,
.trumbowyg-editor img {
width: auto;
max-width: 100%; }
.trumbowyg-editor video,
.trumbowyg-editor img {
height: auto; }
.trumbowyg-editor img {
cursor: move; }
.trumbowyg-editor.trumbowyg-reset-css {
background: #FEFEFE !important;
font-family: "Trebuchet MS", Helvetica, Verdana, sans-serif !important;
font-size: 14px !important;
line-height: 1.45em !important;
white-space: normal !important;
color: #333; }
.trumbowyg-editor.trumbowyg-reset-css a {
color: #15c !important;
text-decoration: underline !important; }
.trumbowyg-editor.trumbowyg-reset-css div,
.trumbowyg-editor.trumbowyg-reset-css p,
.trumbowyg-editor.trumbowyg-reset-css ul,
.trumbowyg-editor.trumbowyg-reset-css ol,
.trumbowyg-editor.trumbowyg-reset-css blockquote {
-webkit-box-shadow: none !important;
box-shadow: none !important;
background: none !important;
margin: 0 !important;
margin-bottom: 15px !important;
line-height: 1.4em !important;
font-family: "Trebuchet MS", Helvetica, Verdana, sans-serif !important;
font-size: 14px !important;
border: none; }
.trumbowyg-editor.trumbowyg-reset-css iframe,
.trumbowyg-editor.trumbowyg-reset-css object,
.trumbowyg-editor.trumbowyg-reset-css hr {
margin-bottom: 15px !important; }
.trumbowyg-editor.trumbowyg-reset-css blockquote {
margin-left: 32px !important;
font-style: italic !important;
color: #555; }
.trumbowyg-editor.trumbowyg-reset-css ul,
.trumbowyg-editor.trumbowyg-reset-css ol {
padding-left: 20px !important; }
.trumbowyg-editor.trumbowyg-reset-css ul ul,
.trumbowyg-editor.trumbowyg-reset-css ol ol,
.trumbowyg-editor.trumbowyg-reset-css ul ol,
.trumbowyg-editor.trumbowyg-reset-css ol ul {
border: none;
margin: 2px !important;
padding: 0 !important;
padding-left: 24px !important; }
.trumbowyg-editor.trumbowyg-reset-css hr {
display: block;
height: 1px;
border: none;
border-top: 1px solid #CCC; }
.trumbowyg-editor.trumbowyg-reset-css h1,
.trumbowyg-editor.trumbowyg-reset-css h2,
.trumbowyg-editor.trumbowyg-reset-css h3,
.trumbowyg-editor.trumbowyg-reset-css h4 {
color: #111;
background: none;
margin: 0 !important;
padding: 0 !important;
font-weight: bold; }
.trumbowyg-editor.trumbowyg-reset-css h1 {
font-size: 32px !important;
line-height: 38px !important;
margin-bottom: 20px !important; }
.trumbowyg-editor.trumbowyg-reset-css h2 {
font-size: 26px !important;
line-height: 34px !important;
margin-bottom: 15px !important; }
.trumbowyg-editor.trumbowyg-reset-css h3 {
font-size: 22px !important;
line-height: 28px !important;
margin-bottom: 7px !important; }
.trumbowyg-editor.trumbowyg-reset-css h4 {
font-size: 16px !important;
line-height: 22px !important;
margin-bottom: 7px !important; }
/*
* Black theme
*/
.trumbowyg-black .trumbowyg-button-pane {
background-color: #222;
border-bottom-color: #343434; }
.trumbowyg-black .trumbowyg-button-pane li.trumbowyg-separator {
background-color: #343434; }
.trumbowyg-black .trumbowyg-button-pane.trumbowyg-disable li.trumbowyg-separator {
background-color: #2a2a2a; }
.trumbowyg-black .trumbowyg-button-pane:not(.trumbowyg-disable) li button:hover,
.trumbowyg-black .trumbowyg-button-pane:not(.trumbowyg-disable) li button:focus,
.trumbowyg-black .trumbowyg-button-pane li button.trumbowyg-active,
.trumbowyg-black .trumbowyg-button-pane li.trumbowyg-not-disable button:hover,
.trumbowyg-black .trumbowyg-button-pane li.trumbowyg-not-disable button:focus {
background-color: #555; }
.trumbowyg-black .trumbowyg-button-pane li .trumbowyg-open-dropdown:after {
border-top-color: #fff; }
.trumbowyg-black .trumbowyg-dropdown {
border-color: #222;
background: #222; }
.trumbowyg-black .trumbowyg-dropdown button {
background: #222;
color: #fff; }
.trumbowyg-black .trumbowyg-dropdown button:hover,
.trumbowyg-black .trumbowyg-dropdown button:focus {
background: #555; }
.trumbowyg-black .trumbowyg-modal-box {
background-color: #222; }
.trumbowyg-black .trumbowyg-modal-box .trumbowyg-modal-title {
border-bottom: 1px solid #555;
color: #fff;
background: #3c3c3c; }
.trumbowyg-black .trumbowyg-modal-box label {
display: block;
position: relative;
margin: 15px 12px;
height: 27px;
line-height: 27px;
overflow: hidden; }
.trumbowyg-black .trumbowyg-modal-box label .trumbowyg-input-infos span {
color: #eee;
background-color: #2f2f2f;
border-color: #222; }
.trumbowyg-black .trumbowyg-modal-box label .trumbowyg-input-infos span.trumbowyg-msg-error {
color: #e74c3c; }
.trumbowyg-black .trumbowyg-modal-box label.trumbowyg-input-error input,
.trumbowyg-black .trumbowyg-modal-box label.trumbowyg-input-error textarea {
border-color: #e74c3c; }
.trumbowyg-black .trumbowyg-modal-box label input {
border-color: #222;
color: #eee;
background: #333; }
.trumbowyg-black .trumbowyg-modal-box label input:hover,
.trumbowyg-black .trumbowyg-modal-box label input:focus {
border-color: #95a5a6; }
.trumbowyg-black .trumbowyg-modal-box label input:focus {
background-color: rgba(230, 230, 255, 0.1); }
.trumbowyg-black .trumbowyg-overlay {
background-color: rgba(0, 0, 0, 0.5); }
/*
* Buttons icons
*/
.trumbowyg-button-pane li button {
display: block;
position: relative;
text-indent: -9999px;
width: 35px;
height: 35px;
overflow: hidden;
background: transparent url("./images/icons-black.png") no-repeat;
border: none;
cursor: pointer;
-webkit-transition: background-color 0.15s, background-image 0.15s, opacity 0.15s;
-o-transition: background-color 0.15s, background-image 0.15s, opacity 0.15s;
transition: background-color 0.15s, background-image 0.15s, opacity 0.15s;
/* English and others */ }
.trumbowyg-button-pane li button.trumbowyg-viewHTML-button {
background-position: 5px -570px; }
.trumbowyg-button-pane li button.trumbowyg-formatting-button {
background-position: 5px -120px; }
.trumbowyg-button-pane li button.trumbowyg-bold-button, .trumbowyg-button-pane li button.trumbowyg-strong-button {
background-position: 5px -45px; }
.trumbowyg-button-pane li button.trumbowyg-italic-button, .trumbowyg-button-pane li button.trumbowyg-em-button {
background-position: 5px -270px; }
.trumbowyg-button-pane li button.trumbowyg-underline-button {
background-position: 5px -495px; }
.trumbowyg-button-pane li button.trumbowyg-strikethrough-button, .trumbowyg-button-pane li button.trumbowyg-del-button {
background-position: 5px -470px; }
.trumbowyg-button-pane li button.trumbowyg-link-button {
background-position: 5px -345px; }
.trumbowyg-button-pane li button.trumbowyg-insertImage-button {
background-position: 5px -245px; }
.trumbowyg-button-pane li button.trumbowyg-justifyLeft-button {
background-position: 5px -320px; }
.trumbowyg-button-pane li button.trumbowyg-justifyCenter-button {
background-position: 5px -70px; }
.trumbowyg-button-pane li button.trumbowyg-justifyRight-button {
background-position: 5px -420px; }
.trumbowyg-button-pane li button.trumbowyg-justifyFull-button {
background-position: 5px 5px; }
.trumbowyg-button-pane li button.trumbowyg-unorderedList-button {
background-position: 5px -520px; }
.trumbowyg-button-pane li button.trumbowyg-orderedList-button {
background-position: 5px -370px; }
.trumbowyg-button-pane li button.trumbowyg-horizontalRule-button {
background-position: 5px -220px; }
.trumbowyg-button-pane li button.trumbowyg-removeformat-button {
background-position: 5px -395px; }
.trumbowyg-button-pane li button.trumbowyg-fullscreen-button {
background-position: 5px -170px; }
.trumbowyg-button-pane li button.trumbowyg-close-button {
background-position: 5px -95px; }
.trumbowyg-fullscreen .trumbowyg-button-pane li button.trumbowyg-fullscreen-button {
background-position: 5px -145px; }
.trumbowyg-button-pane li:first-child button {
margin-left: 6px; }
.trumbowyg-button-pane li:last-child button {
margin-right: 6px; }
/* French */
.trumbowyg-fr .trumbowyg-button-pane li button.trumbowyg-bold-button, .trumbowyg-fr .trumbowyg-button-pane li button.trumbowyg-strong-button {
background-position: 5px -195px; }
.trumbowyg-fr .trumbowyg-button-pane li button.trumbowyg-underline-button {
background-position: 5px -445px; }
.trumbowyg-fr .trumbowyg-button-pane li button.trumbowyg-strikethrough-button, .trumbowyg-fr .trumbowyg-button-pane li button.trumbowyg-del-button {
background-position: 5px -295px; }
.trumbowyg-black {
/* French */ }
.trumbowyg-black .trumbowyg-button-pane li button {
background-image: url("./images/icons-white.png");
/* English and others */ }
.trumbowyg-black .trumbowyg-button-pane li button.trumbowyg-viewHTML-button {
background-position: 5px -570px; }
.trumbowyg-black .trumbowyg-button-pane li button.trumbowyg-formatting-button {
background-position: 5px -120px; }
.trumbowyg-black .trumbowyg-button-pane li button.trumbowyg-bold-button, .trumbowyg-black .trumbowyg-button-pane li button.trumbowyg-strong-button {
background-position: 5px -45px; }
.trumbowyg-black .trumbowyg-button-pane li button.trumbowyg-italic-button, .trumbowyg-black .trumbowyg-button-pane li button.trumbowyg-em-button {
background-position: 5px -270px; }
.trumbowyg-black .trumbowyg-button-pane li button.trumbowyg-underline-button {
background-position: 5px -495px; }
.trumbowyg-black .trumbowyg-button-pane li button.trumbowyg-strikethrough-button, .trumbowyg-black .trumbowyg-button-pane li button.trumbowyg-del-button {
background-position: 5px -470px; }
.trumbowyg-black .trumbowyg-button-pane li button.trumbowyg-link-button {
background-position: 5px -345px; }
.trumbowyg-black .trumbowyg-button-pane li button.trumbowyg-insertImage-button {
background-position: 5px -245px; }
.trumbowyg-black .trumbowyg-button-pane li button.trumbowyg-justifyLeft-button {
background-position: 5px -320px; }
.trumbowyg-black .trumbowyg-button-pane li button.trumbowyg-justifyCenter-button {
background-position: 5px -70px; }
.trumbowyg-black .trumbowyg-button-pane li button.trumbowyg-justifyRight-button {
background-position: 5px -420px; }
.trumbowyg-black .trumbowyg-button-pane li button.trumbowyg-justifyFull-button {
background-position: 5px 5px; }
.trumbowyg-black .trumbowyg-button-pane li button.trumbowyg-unorderedList-button {
background-position: 5px -520px; }
.trumbowyg-black .trumbowyg-button-pane li button.trumbowyg-orderedList-button {
background-position: 5px -370px; }
.trumbowyg-black .trumbowyg-button-pane li button.trumbowyg-horizontalRule-button {
background-position: 5px -220px; }
.trumbowyg-black .trumbowyg-button-pane li button.trumbowyg-removeformat-button {
background-position: 5px -395px; }
.trumbowyg-black .trumbowyg-button-pane li button.trumbowyg-fullscreen-button {
background-position: 5px -170px; }
.trumbowyg-black .trumbowyg-button-pane li button.trumbowyg-close-button {
background-position: 5px -95px; }
.trumbowyg-black .trumbowyg-fullscreen .trumbowyg-button-pane li button.trumbowyg-fullscreen-button {
background-position: 5px -145px; }
.trumbowyg-black .trumbowyg-button-pane li:first-child button {
margin-left: 6px; }
.trumbowyg-black .trumbowyg-button-pane li:last-child button {
margin-right: 6px; }
.trumbowyg-black .trumbowyg-fr .trumbowyg-button-pane li button.trumbowyg-bold-button, .trumbowyg-black .trumbowyg-fr .trumbowyg-button-pane li button.trumbowyg-strong-button {
background-position: 5px -195px; }
.trumbowyg-black .trumbowyg-fr .trumbowyg-button-pane li button.trumbowyg-underline-button {
background-position: 5px -445px; }
.trumbowyg-black .trumbowyg-fr .trumbowyg-button-pane li button.trumbowyg-strikethrough-button, .trumbowyg-black .trumbowyg-fr .trumbowyg-button-pane li button.trumbowyg-del-button {
background-position: 5px -295px; }
@media only screen and (-webkit-min-device-pixel-ratio: 1.3), only screen and (min--moz-device-pixel-ratio: 1.3), only screen and (-o-min-device-pixel-ratio: 4/3), only screen and (min-device-pixel-ratio: 1.3), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx) {
.trumbowyg-button-pane li button {
-webkit-background-size: 25px 600px !important;
background-size: 25px 600px !important;
background-image: url("./images/icons-black-2x.png") !important;
/* English and others */ }
.trumbowyg-button-pane li button.trumbowyg-viewHTML-button {
background-position: 5px -570px; }
.trumbowyg-button-pane li button.trumbowyg-formatting-button {
background-position: 5px -120px; }
.trumbowyg-button-pane li button.trumbowyg-bold-button, .trumbowyg-button-pane li button.trumbowyg-strong-button {
background-position: 5px -45px; }
.trumbowyg-button-pane li button.trumbowyg-italic-button, .trumbowyg-button-pane li button.trumbowyg-em-button {
background-position: 5px -270px; }
.trumbowyg-button-pane li button.trumbowyg-underline-button {
background-position: 5px -495px; }
.trumbowyg-button-pane li button.trumbowyg-strikethrough-button, .trumbowyg-button-pane li button.trumbowyg-del-button {
background-position: 5px -470px; }
.trumbowyg-button-pane li button.trumbowyg-link-button {
background-position: 5px -345px; }
.trumbowyg-button-pane li button.trumbowyg-insertImage-button {
background-position: 5px -245px; }
.trumbowyg-button-pane li button.trumbowyg-justifyLeft-button {
background-position: 5px -320px; }
.trumbowyg-button-pane li button.trumbowyg-justifyCenter-button {
background-position: 5px -70px; }
.trumbowyg-button-pane li button.trumbowyg-justifyRight-button {
background-position: 5px -420px; }
.trumbowyg-button-pane li button.trumbowyg-justifyFull-button {
background-position: 5px 5px; }
.trumbowyg-button-pane li button.trumbowyg-unorderedList-button {
background-position: 5px -520px; }
.trumbowyg-button-pane li button.trumbowyg-orderedList-button {
background-position: 5px -370px; }
.trumbowyg-button-pane li button.trumbowyg-horizontalRule-button {
background-position: 5px -220px; }
.trumbowyg-button-pane li button.trumbowyg-removeformat-button {
background-position: 5px -395px; }
.trumbowyg-button-pane li button.trumbowyg-fullscreen-button {
background-position: 5px -170px; }
.trumbowyg-button-pane li button.trumbowyg-close-button {
background-position: 5px -95px; }
.trumbowyg-fullscreen .trumbowyg-button-pane li a.trumbowyg-fullscreen-button {
background-position: 5px -145px; }
/* French */
.trumbowyg-fr .trumbowyg-button-pane li button.trumbowyg-bold-button, .trumbowyg-fr .trumbowyg-button-pane li button.trumbowyg-strong-button {
background-position: 5px -195px; }
.trumbowyg-fr .trumbowyg-button-pane li button.trumbowyg-underline-button {
background-position: 5px -445px; }
.trumbowyg-fr .trumbowyg-button-pane li button.trumbowyg-strikethrough-button, .trumbowyg-fr .trumbowyg-button-pane li button.trumbowyg-del-button {
background-position: 5px -295px; }
/* Black theme */
.trumbowyg-black {
/* French */ }
.trumbowyg-black .trumbowyg-button-pane li button {
-webkit-background-size: 25px 600px !important;
background-size: 25px 600px !important;
background-image: url("./images/icons-white-2x.png") !important;
/* English and others */ }
.trumbowyg-black .trumbowyg-button-pane li button.trumbowyg-viewHTML-button {
background-position: 5px -570px; }
.trumbowyg-black .trumbowyg-button-pane li button.trumbowyg-formatting-button {
background-position: 5px -120px; }
.trumbowyg-black .trumbowyg-button-pane li button.trumbowyg-bold-button, .trumbowyg-black .trumbowyg-button-pane li button.trumbowyg-strong-button {
background-position: 5px -45px; }
.trumbowyg-black .trumbowyg-button-pane li button.trumbowyg-italic-button, .trumbowyg-black .trumbowyg-button-pane li button.trumbowyg-em-button {
background-position: 5px -270px; }
.trumbowyg-black .trumbowyg-button-pane li button.trumbowyg-underline-button {
background-position: 5px -495px; }
.trumbowyg-black .trumbowyg-button-pane li button.trumbowyg-strikethrough-button, .trumbowyg-black .trumbowyg-button-pane li button.trumbowyg-del-button {
background-position: 5px -470px; }
.trumbowyg-black .trumbowyg-button-pane li button.trumbowyg-link-button {
background-position: 5px -345px; }
.trumbowyg-black .trumbowyg-button-pane li button.trumbowyg-insertImage-button {
background-position: 5px -245px; }
.trumbowyg-black .trumbowyg-button-pane li button.trumbowyg-justifyLeft-button {
background-position: 5px -320px; }
.trumbowyg-black .trumbowyg-button-pane li button.trumbowyg-justifyCenter-button {
background-position: 5px -70px; }
.trumbowyg-black .trumbowyg-button-pane li button.trumbowyg-justifyRight-button {
background-position: 5px -420px; }
.trumbowyg-black .trumbowyg-button-pane li button.trumbowyg-justifyFull-button {
background-position: 5px 5px; }
.trumbowyg-black .trumbowyg-button-pane li button.trumbowyg-unorderedList-button {
background-position: 5px -520px; }
.trumbowyg-black .trumbowyg-button-pane li button.trumbowyg-orderedList-button {
background-position: 5px -370px; }
.trumbowyg-black .trumbowyg-button-pane li button.trumbowyg-horizontalRule-button {
background-position: 5px -220px; }
.trumbowyg-black .trumbowyg-button-pane li button.trumbowyg-removeformat-button {
background-position: 5px -395px; }
.trumbowyg-black .trumbowyg-button-pane li button.trumbowyg-fullscreen-button {
background-position: 5px -170px; }
.trumbowyg-black .trumbowyg-button-pane li button.trumbowyg-close-button {
background-position: 5px -95px; }
.trumbowyg-black .trumbowyg-fullscreen .trumbowyg-button-pane li a.trumbowyg-fullscreen-button {
background-position: 5px -145px; }
.trumbowyg-black .trumbowyg-fr .trumbowyg-button-pane li button.trumbowyg-bold-button, .trumbowyg-black .trumbowyg-fr .trumbowyg-button-pane li button.trumbowyg-strong-button {
background-position: 5px -195px; }
.trumbowyg-black .trumbowyg-fr .trumbowyg-button-pane li button.trumbowyg-underline-button {
background-position: 5px -445px; }
.trumbowyg-black .trumbowyg-fr .trumbowyg-button-pane li button.trumbowyg-strikethrough-button, .trumbowyg-black .trumbowyg-fr .trumbowyg-button-pane li button.trumbowyg-del-button {
background-position: 5px -295px; } }

11
src/main/resources/static/files/assets/pages/sticky/js/jquery.minicolors.min.js
File diff suppressed because it is too large
View File

3800
src/main/resources/static/files/assets/pages/sticky/js/jquery.postitall.js
File diff suppressed because it is too large
View File

178
src/main/resources/static/files/assets/pages/sticky/js/sticky.js

@ -0,0 +1,178 @@
'use strict';
$(document).ready(function() {
var $window = $(window);
if ($window.width() <= 767) {
setWindowSticky();
} else {
setSticky();
}
});
$(window).on('resize',function() {
var $window = $(window);
if ($window.width() <= 767) {
setWindowSticky();
} else {
setSticky();
}
});
function setWindowSticky() {
$('#notes').postitall({
content: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.',
width: 150,
height: 200,
posX: 50,
posY: 200,
style: {
backgroundcolor: '#4680ff', //Background color in new postits when randomColor = false
textcolor: '#fff', //Text color
fontfamily: 'Open Sans', //Default font
fontsize: 'small', //Default font size
arrow: 'none', //Default arrow : none, top, right, bottom, left
},
});
$('#idRunTheCode').click(function(e) {
/* */
var a = $("#the_notes div.PIApostit").last().css("top");
var b = $("#the_notes div.PIApostit").last().css("left");
$.PostItAll.new({
content: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.',
width: 150,
height: 200,
posX: parseInt(b, 10) + 10, //185
posY: parseInt(a, 10),
/*posX :410,
posY : 200,*/
style: {
backgroundcolor: '#4680ff',
textcolor: '#fff', //Text color
fontfamily: 'Open Sans', //Default font
fontsize: 'small', //Default font size
arrow: 'none', //Default arrow : none, top, right, bottom, left
},
});
e.preventDefault();
});
//Global vars : enable and disable features and change the notes behaviour
$.fn.postitall.globals = {
prefix: '#PIApostit_', //Id note prefixe
filter: 'domain', //Options: domain, page, all
savable: false, //Save postit in storage
randomColor: true, //Random color in new postits
toolbar: true, //Show or hide toolbar
autoHideToolBar: false, //Animation effect on hover over postit showing/hiding toolbar options
removable: true, //Set removable feature on or off
askOnDelete: false, //Confirmation before note removal
draggable: true, //Set draggable feature on or off
resizable: true, //Set resizable feature on or off
editable: true, //Set contenteditable and enable changing note content
changeoptions: false, //Set options feature on or off
blocked: false, //Postit can not be modified
minimized: true, //true = minimized, false = maximixed
expand: true, //Expand note
fixed: false, //Allow to fix the note in page
addNew: true, //Create a new postit
showInfo: false, //Show info icon
pasteHtml: false, //Allow paste html in contenteditor
htmlEditor: false, //Html editor (trumbowyg)
autoPosition: true, //Automatic reposition of the notes when user resizes the screen
export: false,
addArrow: 'back' //Add an arrow to notes : none, front, back, all
};
}
function setSticky() {
$('#notes').postitall({
content: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.',
width: 150,
height: 200,
posX: 50,
posY: 200,
style: {
backgroundcolor: '#4680ff', //Background color in new postits when randomColor = false
textcolor: '#fff', //Text color
fontfamily: 'Open Sans', //Default font
fontsize: 'small', //Default font size
arrow: 'none', //Default arrow : none, top, right, bottom, left
},
});
$('#notes1').postitall({
content: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.',
width: 150,
height: 200,
posX: 230,
posY: 200,
style: {
backgroundcolor: '#4680ff', //Background color in new postits when randomColor = false
textcolor: '#fff', //Text color
fontfamily: 'Open Sans', //Default font
fontsize: 'small', //Default font size
arrow: 'none', //Default arrow : none, top, right, bottom, left
},
});
$('#idRunTheCode').click(function(e) {
/* */
var a = $("#the_notes div.PIApostit").last().css("top");
var b = $("#the_notes div.PIApostit").last().css("left");
$.PostItAll.new({
content: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.',
width: 150,
height: 200,
posX: parseInt(b, 10) + 10, //185
posY: parseInt(a, 10),
/*posX :410,
posY : 200,*/
style: {
backgroundcolor: '#4680ff',
textcolor: '#fff', //Text color
fontfamily: 'Open Sans', //Default font
fontsize: 'small', //Default font size
arrow: 'none', //Default arrow : none, top, right, bottom, left
},
});
e.preventDefault();
});
//Global vars : enable and disable features and change the notes behaviour
$.fn.postitall.globals = {
prefix: '#PIApostit_', //Id note prefixe
filter: 'domain', //Options: domain, page, all
savable: false, //Save postit in storage
randomColor: true, //Random color in new postits
toolbar: true, //Show or hide toolbar
autoHideToolBar: false, //Animation effect on hover over postit showing/hiding toolbar options
removable: true, //Set removable feature on or off
askOnDelete: false, //Confirmation before note removal
draggable: true, //Set draggable feature on or off
resizable: true, //Set resizable feature on or off
editable: true, //Set contenteditable and enable changing note content
changeoptions: false, //Set options feature on or off
blocked: false, //Postit can not be modified
minimized: true, //true = minimized, false = maximixed
expand: true, //Expand note
fixed: false, //Allow to fix the note in page
addNew: true, //Create a new postit
showInfo: false, //Show info icon
pasteHtml: false, //Allow paste html in contenteditor
htmlEditor: false, //Html editor (trumbowyg)
autoPosition: true, //Automatic reposition of the notes when user resizes the screen
export: false,
addArrow: 'back' //Add an arrow to notes : none, front, back, all
};
};

2
src/main/resources/static/files/assets/pages/sticky/js/trumbowyg.min.js
File diff suppressed because it is too large
View File

551
src/main/resources/static/files/assets/pages/store-js/moment.js

@ -0,0 +1,551 @@
//! moment.js
//! version : 2.17.1
//! authors : Tim Wood, Iskren Chernev, Moment.js contributors
//! license : MIT
//! momentjs.com
!function(a,b){"object"==typeof exports&&"undefined"!=typeof module?module.exports=b():"function"==typeof define&&define.amd?define(b):a.moment=b()}(this,function(){"use strict";function a(){return od.apply(null,arguments)}
// This is done to register the method called with moment()
// without creating circular dependencies.
function b(a){od=a}function c(a){return a instanceof Array||"[object Array]"===Object.prototype.toString.call(a)}function d(a){
// IE8 will treat undefined and null as object if it wasn't for
// input != null
return null!=a&&"[object Object]"===Object.prototype.toString.call(a)}function e(a){var b;for(b in a)
// even if its not own property I'd still call it non-empty
return!1;return!0}function f(a){return"number"==typeof a||"[object Number]"===Object.prototype.toString.call(a)}function g(a){return a instanceof Date||"[object Date]"===Object.prototype.toString.call(a)}function h(a,b){var c,d=[];for(c=0;c<a.length;++c)d.push(b(a[c],c));return d}function i(a,b){return Object.prototype.hasOwnProperty.call(a,b)}function j(a,b){for(var c in b)i(b,c)&&(a[c]=b[c]);return i(b,"toString")&&(a.toString=b.toString),i(b,"valueOf")&&(a.valueOf=b.valueOf),a}function k(a,b,c,d){return rb(a,b,c,d,!0).utc()}function l(){
// We need to deep clone this object.
return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],meridiem:null}}function m(a){return null==a._pf&&(a._pf=l()),a._pf}function n(a){if(null==a._isValid){var b=m(a),c=qd.call(b.parsedDateParts,function(a){return null!=a}),d=!isNaN(a._d.getTime())&&b.overflow<0&&!b.empty&&!b.invalidMonth&&!b.invalidWeekday&&!b.nullInput&&!b.invalidFormat&&!b.userInvalidated&&(!b.meridiem||b.meridiem&&c);if(a._strict&&(d=d&&0===b.charsLeftOver&&0===b.unusedTokens.length&&void 0===b.bigHour),null!=Object.isFrozen&&Object.isFrozen(a))return d;a._isValid=d}return a._isValid}function o(a){var b=k(NaN);return null!=a?j(m(b),a):m(b).userInvalidated=!0,b}function p(a){return void 0===a}function q(a,b){var c,d,e;if(p(b._isAMomentObject)||(a._isAMomentObject=b._isAMomentObject),p(b._i)||(a._i=b._i),p(b._f)||(a._f=b._f),p(b._l)||(a._l=b._l),p(b._strict)||(a._strict=b._strict),p(b._tzm)||(a._tzm=b._tzm),p(b._isUTC)||(a._isUTC=b._isUTC),p(b._offset)||(a._offset=b._offset),p(b._pf)||(a._pf=m(b)),p(b._locale)||(a._locale=b._locale),rd.length>0)for(c in rd)d=rd[c],e=b[d],p(e)||(a[d]=e);return a}
// Moment prototype object
function r(b){q(this,b),this._d=new Date(null!=b._d?b._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),
// Prevent infinite loop in case updateOffset creates new moment
// objects.
sd===!1&&(sd=!0,a.updateOffset(this),sd=!1)}function s(a){return a instanceof r||null!=a&&null!=a._isAMomentObject}function t(a){return a<0?Math.ceil(a)||0:Math.floor(a)}function u(a){var b=+a,c=0;return 0!==b&&isFinite(b)&&(c=t(b)),c}
// compare two arrays, return the number of differences
function v(a,b,c){var d,e=Math.min(a.length,b.length),f=Math.abs(a.length-b.length),g=0;for(d=0;d<e;d++)(c&&a[d]!==b[d]||!c&&u(a[d])!==u(b[d]))&&g++;return g+f}function w(b){a.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+b)}function x(b,c){var d=!0;return j(function(){if(null!=a.deprecationHandler&&a.deprecationHandler(null,b),d){for(var e,f=[],g=0;g<arguments.length;g++){if(e="","object"==typeof arguments[g]){e+="\n["+g+"] ";for(var h in arguments[0])e+=h+": "+arguments[0][h]+", ";e=e.slice(0,-2)}else e=arguments[g];f.push(e)}w(b+"\nArguments: "+Array.prototype.slice.call(f).join("")+"\n"+(new Error).stack),d=!1}return c.apply(this,arguments)},c)}function y(b,c){null!=a.deprecationHandler&&a.deprecationHandler(b,c),td[b]||(w(c),td[b]=!0)}function z(a){return a instanceof Function||"[object Function]"===Object.prototype.toString.call(a)}function A(a){var b,c;for(c in a)b=a[c],z(b)?this[c]=b:this["_"+c]=b;this._config=a,
// Lenient ordinal parsing accepts just a number in addition to
// number + (possibly) stuff coming from _ordinalParseLenient.
this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)}function B(a,b){var c,e=j({},a);for(c in b)i(b,c)&&(d(a[c])&&d(b[c])?(e[c]={},j(e[c],a[c]),j(e[c],b[c])):null!=b[c]?e[c]=b[c]:delete e[c]);for(c in a)i(a,c)&&!i(b,c)&&d(a[c])&&(
// make sure changes to properties don't modify parent config
e[c]=j({},e[c]));return e}function C(a){null!=a&&this.set(a)}function D(a,b,c){var d=this._calendar[a]||this._calendar.sameElse;return z(d)?d.call(b,c):d}function E(a){var b=this._longDateFormat[a],c=this._longDateFormat[a.toUpperCase()];return b||!c?b:(this._longDateFormat[a]=c.replace(/MMMM|MM|DD|dddd/g,function(a){return a.slice(1)}),this._longDateFormat[a])}function F(){return this._invalidDate}function G(a){return this._ordinal.replace("%d",a)}function H(a,b,c,d){var e=this._relativeTime[c];return z(e)?e(a,b,c,d):e.replace(/%d/i,a)}function I(a,b){var c=this._relativeTime[a>0?"future":"past"];return z(c)?c(b):c.replace(/%s/i,b)}function J(a,b){var c=a.toLowerCase();Dd[c]=Dd[c+"s"]=Dd[b]=a}function K(a){return"string"==typeof a?Dd[a]||Dd[a.toLowerCase()]:void 0}function L(a){var b,c,d={};for(c in a)i(a,c)&&(b=K(c),b&&(d[b]=a[c]));return d}function M(a,b){Ed[a]=b}function N(a){var b=[];for(var c in a)b.push({unit:c,priority:Ed[c]});return b.sort(function(a,b){return a.priority-b.priority}),b}function O(b,c){return function(d){return null!=d?(Q(this,b,d),a.updateOffset(this,c),this):P(this,b)}}function P(a,b){return a.isValid()?a._d["get"+(a._isUTC?"UTC":"")+b]():NaN}function Q(a,b,c){a.isValid()&&a._d["set"+(a._isUTC?"UTC":"")+b](c)}
// MOMENTS
function R(a){return a=K(a),z(this[a])?this[a]():this}function S(a,b){if("object"==typeof a){a=L(a);for(var c=N(a),d=0;d<c.length;d++)this[c[d].unit](a[c[d].unit])}else if(a=K(a),z(this[a]))return this[a](b);return this}function T(a,b,c){var d=""+Math.abs(a),e=b-d.length,f=a>=0;return(f?c?"+":"":"-")+Math.pow(10,Math.max(0,e)).toString().substr(1)+d}
// token: 'M'
// padded: ['MM', 2]
// ordinal: 'Mo'
// callback: function () { this.month() + 1 }
function U(a,b,c,d){var e=d;"string"==typeof d&&(e=function(){return this[d]()}),a&&(Id[a]=e),b&&(Id[b[0]]=function(){return T(e.apply(this,arguments),b[1],b[2])}),c&&(Id[c]=function(){return this.localeData().ordinal(e.apply(this,arguments),a)})}function V(a){return a.match(/\[[\s\S]/)?a.replace(/^\[|\]$/g,""):a.replace(/\\/g,"")}function W(a){var b,c,d=a.match(Fd);for(b=0,c=d.length;b<c;b++)Id[d[b]]?d[b]=Id[d[b]]:d[b]=V(d[b]);return function(b){var e,f="";for(e=0;e<c;e++)f+=d[e]instanceof Function?d[e].call(b,a):d[e];return f}}
// format date using native date object
function X(a,b){return a.isValid()?(b=Y(b,a.localeData()),Hd[b]=Hd[b]||W(b),Hd[b](a)):a.localeData().invalidDate()}function Y(a,b){function c(a){return b.longDateFormat(a)||a}var d=5;for(Gd.lastIndex=0;d>=0&&Gd.test(a);)a=a.replace(Gd,c),Gd.lastIndex=0,d-=1;return a}function Z(a,b,c){$d[a]=z(b)?b:function(a,d){return a&&c?c:b}}function $(a,b){return i($d,a)?$d[a](b._strict,b._locale):new RegExp(_(a))}
// Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript
function _(a){return aa(a.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(a,b,c,d,e){return b||c||d||e}))}function aa(a){return a.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function ba(a,b){var c,d=b;for("string"==typeof a&&(a=[a]),f(b)&&(d=function(a,c){c[b]=u(a)}),c=0;c<a.length;c++)_d[a[c]]=d}function ca(a,b){ba(a,function(a,c,d,e){d._w=d._w||{},b(a,d._w,d,e)})}function da(a,b,c){null!=b&&i(_d,a)&&_d[a](b,c._a,c,a)}function ea(a,b){return new Date(Date.UTC(a,b+1,0)).getUTCDate()}function fa(a,b){return a?c(this._months)?this._months[a.month()]:this._months[(this._months.isFormat||ke).test(b)?"format":"standalone"][a.month()]:this._months}function ga(a,b){return a?c(this._monthsShort)?this._monthsShort[a.month()]:this._monthsShort[ke.test(b)?"format":"standalone"][a.month()]:this._monthsShort}function ha(a,b,c){var d,e,f,g=a.toLocaleLowerCase();if(!this._monthsParse)for(
// this is not used
this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],d=0;d<12;++d)f=k([2e3,d]),this._shortMonthsParse[d]=this.monthsShort(f,"").toLocaleLowerCase(),this._longMonthsParse[d]=this.months(f,"").toLocaleLowerCase();return c?"MMM"===b?(e=je.call(this._shortMonthsParse,g),e!==-1?e:null):(e=je.call(this._longMonthsParse,g),e!==-1?e:null):"MMM"===b?(e=je.call(this._shortMonthsParse,g),e!==-1?e:(e=je.call(this._longMonthsParse,g),e!==-1?e:null)):(e=je.call(this._longMonthsParse,g),e!==-1?e:(e=je.call(this._shortMonthsParse,g),e!==-1?e:null))}function ia(a,b,c){var d,e,f;if(this._monthsParseExact)return ha.call(this,a,b,c);
// TODO: add sorting
// Sorting makes sure if one month (or abbr) is a prefix of another
// see sorting in computeMonthsParse
for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),d=0;d<12;d++){
// test the regex
if(
// make the regex if we don't have it already
e=k([2e3,d]),c&&!this._longMonthsParse[d]&&(this._longMonthsParse[d]=new RegExp("^"+this.months(e,"").replace(".","")+"$","i"),this._shortMonthsParse[d]=new RegExp("^"+this.monthsShort(e,"").replace(".","")+"$","i")),c||this._monthsParse[d]||(f="^"+this.months(e,"")+"|^"+this.monthsShort(e,""),this._monthsParse[d]=new RegExp(f.replace(".",""),"i")),c&&"MMMM"===b&&this._longMonthsParse[d].test(a))return d;if(c&&"MMM"===b&&this._shortMonthsParse[d].test(a))return d;if(!c&&this._monthsParse[d].test(a))return d}}
// MOMENTS
function ja(a,b){var c;if(!a.isValid())
// No op
return a;if("string"==typeof b)if(/^\d+$/.test(b))b=u(b);else
// TODO: Another silent failure?
if(b=a.localeData().monthsParse(b),!f(b))return a;return c=Math.min(a.date(),ea(a.year(),b)),a._d["set"+(a._isUTC?"UTC":"")+"Month"](b,c),a}function ka(b){return null!=b?(ja(this,b),a.updateOffset(this,!0),this):P(this,"Month")}function la(){return ea(this.year(),this.month())}function ma(a){return this._monthsParseExact?(i(this,"_monthsRegex")||oa.call(this),a?this._monthsShortStrictRegex:this._monthsShortRegex):(i(this,"_monthsShortRegex")||(this._monthsShortRegex=ne),this._monthsShortStrictRegex&&a?this._monthsShortStrictRegex:this._monthsShortRegex)}function na(a){return this._monthsParseExact?(i(this,"_monthsRegex")||oa.call(this),a?this._monthsStrictRegex:this._monthsRegex):(i(this,"_monthsRegex")||(this._monthsRegex=oe),this._monthsStrictRegex&&a?this._monthsStrictRegex:this._monthsRegex)}function oa(){function a(a,b){return b.length-a.length}var b,c,d=[],e=[],f=[];for(b=0;b<12;b++)
// make the regex if we don't have it already
c=k([2e3,b]),d.push(this.monthsShort(c,"")),e.push(this.months(c,"")),f.push(this.months(c,"")),f.push(this.monthsShort(c,""));for(
// Sorting makes sure if one month (or abbr) is a prefix of another it
// will match the longer piece.
d.sort(a),e.sort(a),f.sort(a),b=0;b<12;b++)d[b]=aa(d[b]),e[b]=aa(e[b]);for(b=0;b<24;b++)f[b]=aa(f[b]);this._monthsRegex=new RegExp("^("+f.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+e.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+d.join("|")+")","i")}
// HELPERS
function pa(a){return qa(a)?366:365}function qa(a){return a%4===0&&a%100!==0||a%400===0}function ra(){return qa(this.year())}function sa(a,b,c,d,e,f,g){
//can't just apply() to create a date:
//http://stackoverflow.com/questions/181348/instantiating-a-javascript-object-by-calling-prototype-constructor-apply
var h=new Date(a,b,c,d,e,f,g);
//the date constructor remaps years 0-99 to 1900-1999
return a<100&&a>=0&&isFinite(h.getFullYear())&&h.setFullYear(a),h}function ta(a){var b=new Date(Date.UTC.apply(null,arguments));
//the Date.UTC function remaps years 0-99 to 1900-1999
return a<100&&a>=0&&isFinite(b.getUTCFullYear())&&b.setUTCFullYear(a),b}
// start-of-first-week - start-of-year
function ua(a,b,c){var// first-week day -- which january is always in the first week (4 for iso, 1 for other)
d=7+b-c,
// first-week day local weekday -- which local weekday is fwd
e=(7+ta(a,0,d).getUTCDay()-b)%7;return-e+d-1}
//http://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday
function va(a,b,c,d,e){var f,g,h=(7+c-d)%7,i=ua(a,d,e),j=1+7*(b-1)+h+i;return j<=0?(f=a-1,g=pa(f)+j):j>pa(a)?(f=a+1,g=j-pa(a)):(f=a,g=j),{year:f,dayOfYear:g}}function wa(a,b,c){var d,e,f=ua(a.year(),b,c),g=Math.floor((a.dayOfYear()-f-1)/7)+1;return g<1?(e=a.year()-1,d=g+xa(e,b,c)):g>xa(a.year(),b,c)?(d=g-xa(a.year(),b,c),e=a.year()+1):(e=a.year(),d=g),{week:d,year:e}}function xa(a,b,c){var d=ua(a,b,c),e=ua(a+1,b,c);return(pa(a)-d+e)/7}
// HELPERS
// LOCALES
function ya(a){return wa(a,this._week.dow,this._week.doy).week}function za(){return this._week.dow}function Aa(){return this._week.doy}
// MOMENTS
function Ba(a){var b=this.localeData().week(this);return null==a?b:this.add(7*(a-b),"d")}function Ca(a){var b=wa(this,1,4).week;return null==a?b:this.add(7*(a-b),"d")}
// HELPERS
function Da(a,b){return"string"!=typeof a?a:isNaN(a)?(a=b.weekdaysParse(a),"number"==typeof a?a:null):parseInt(a,10)}function Ea(a,b){return"string"==typeof a?b.weekdaysParse(a)%7||7:isNaN(a)?null:a}function Fa(a,b){return a?c(this._weekdays)?this._weekdays[a.day()]:this._weekdays[this._weekdays.isFormat.test(b)?"format":"standalone"][a.day()]:this._weekdays}function Ga(a){return a?this._weekdaysShort[a.day()]:this._weekdaysShort}function Ha(a){return a?this._weekdaysMin[a.day()]:this._weekdaysMin}function Ia(a,b,c){var d,e,f,g=a.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],d=0;d<7;++d)f=k([2e3,1]).day(d),this._minWeekdaysParse[d]=this.weekdaysMin(f,"").toLocaleLowerCase(),this._shortWeekdaysParse[d]=this.weekdaysShort(f,"").toLocaleLowerCase(),this._weekdaysParse[d]=this.weekdays(f,"").toLocaleLowerCase();return c?"dddd"===b?(e=je.call(this._weekdaysParse,g),e!==-1?e:null):"ddd"===b?(e=je.call(this._shortWeekdaysParse,g),e!==-1?e:null):(e=je.call(this._minWeekdaysParse,g),e!==-1?e:null):"dddd"===b?(e=je.call(this._weekdaysParse,g),e!==-1?e:(e=je.call(this._shortWeekdaysParse,g),e!==-1?e:(e=je.call(this._minWeekdaysParse,g),e!==-1?e:null))):"ddd"===b?(e=je.call(this._shortWeekdaysParse,g),e!==-1?e:(e=je.call(this._weekdaysParse,g),e!==-1?e:(e=je.call(this._minWeekdaysParse,g),e!==-1?e:null))):(e=je.call(this._minWeekdaysParse,g),e!==-1?e:(e=je.call(this._weekdaysParse,g),e!==-1?e:(e=je.call(this._shortWeekdaysParse,g),e!==-1?e:null)))}function Ja(a,b,c){var d,e,f;if(this._weekdaysParseExact)return Ia.call(this,a,b,c);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),d=0;d<7;d++){
// test the regex
if(
// make the regex if we don't have it already
e=k([2e3,1]).day(d),c&&!this._fullWeekdaysParse[d]&&(this._fullWeekdaysParse[d]=new RegExp("^"+this.weekdays(e,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[d]=new RegExp("^"+this.weekdaysShort(e,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[d]=new RegExp("^"+this.weekdaysMin(e,"").replace(".",".?")+"$","i")),this._weekdaysParse[d]||(f="^"+this.weekdays(e,"")+"|^"+this.weekdaysShort(e,"")+"|^"+this.weekdaysMin(e,""),this._weekdaysParse[d]=new RegExp(f.replace(".",""),"i")),c&&"dddd"===b&&this._fullWeekdaysParse[d].test(a))return d;if(c&&"ddd"===b&&this._shortWeekdaysParse[d].test(a))return d;if(c&&"dd"===b&&this._minWeekdaysParse[d].test(a))return d;if(!c&&this._weekdaysParse[d].test(a))return d}}
// MOMENTS
function Ka(a){if(!this.isValid())return null!=a?this:NaN;var b=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=a?(a=Da(a,this.localeData()),this.add(a-b,"d")):b}function La(a){if(!this.isValid())return null!=a?this:NaN;var b=(this.day()+7-this.localeData()._week.dow)%7;return null==a?b:this.add(a-b,"d")}function Ma(a){if(!this.isValid())return null!=a?this:NaN;
// behaves the same as moment#day except
// as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)
// as a setter, sunday should belong to the previous week.
if(null!=a){var b=Ea(a,this.localeData());return this.day(this.day()%7?b:b-7)}return this.day()||7}function Na(a){return this._weekdaysParseExact?(i(this,"_weekdaysRegex")||Qa.call(this),a?this._weekdaysStrictRegex:this._weekdaysRegex):(i(this,"_weekdaysRegex")||(this._weekdaysRegex=ue),this._weekdaysStrictRegex&&a?this._weekdaysStrictRegex:this._weekdaysRegex)}function Oa(a){return this._weekdaysParseExact?(i(this,"_weekdaysRegex")||Qa.call(this),a?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(i(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=ve),this._weekdaysShortStrictRegex&&a?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function Pa(a){return this._weekdaysParseExact?(i(this,"_weekdaysRegex")||Qa.call(this),a?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(i(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=we),this._weekdaysMinStrictRegex&&a?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function Qa(){function a(a,b){return b.length-a.length}var b,c,d,e,f,g=[],h=[],i=[],j=[];for(b=0;b<7;b++)
// make the regex if we don't have it already
c=k([2e3,1]).day(b),d=this.weekdaysMin(c,""),e=this.weekdaysShort(c,""),f=this.weekdays(c,""),g.push(d),h.push(e),i.push(f),j.push(d),j.push(e),j.push(f);for(
// Sorting makes sure if one weekday (or abbr) is a prefix of another it
// will match the longer piece.
g.sort(a),h.sort(a),i.sort(a),j.sort(a),b=0;b<7;b++)h[b]=aa(h[b]),i[b]=aa(i[b]),j[b]=aa(j[b]);this._weekdaysRegex=new RegExp("^("+j.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+i.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+h.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+g.join("|")+")","i")}
// FORMATTING
function Ra(){return this.hours()%12||12}function Sa(){return this.hours()||24}function Ta(a,b){U(a,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),b)})}
// PARSING
function Ua(a,b){return b._meridiemParse}
// LOCALES
function Va(a){
// IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays
// Using charAt should be more compatible.
return"p"===(a+"").toLowerCase().charAt(0)}function Wa(a,b,c){return a>11?c?"pm":"PM":c?"am":"AM"}function Xa(a){return a?a.toLowerCase().replace("_","-"):a}
// pick the locale from the array
// try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each
// substring from most specific to least, but move to the next array item if it's a more specific variant than the current root
function Ya(a){for(var b,c,d,e,f=0;f<a.length;){for(e=Xa(a[f]).split("-"),b=e.length,c=Xa(a[f+1]),c=c?c.split("-"):null;b>0;){if(d=Za(e.slice(0,b).join("-")))return d;if(c&&c.length>=b&&v(e,c,!0)>=b-1)
//the next array item is better than a shallower substring of this one
break;b--}f++}return null}function Za(a){var b=null;
// TODO: Find a better way to register and load all the locales in Node
if(!Be[a]&&"undefined"!=typeof module&&module&&module.exports)try{b=xe._abbr,require("./locale/"+a),
// because defineLocale currently also sets the global locale, we
// want to undo that for lazy loaded locales
$a(b)}catch(a){}return Be[a]}
// This function will load locale and then set the global locale. If
// no arguments are passed in, it will simply return the current global
// locale key.
function $a(a,b){var c;
// moment.duration._locale = moment._locale = data;
return a&&(c=p(b)?bb(a):_a(a,b),c&&(xe=c)),xe._abbr}function _a(a,b){if(null!==b){var c=Ae;if(b.abbr=a,null!=Be[a])y("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),c=Be[a]._config;else if(null!=b.parentLocale){if(null==Be[b.parentLocale])return Ce[b.parentLocale]||(Ce[b.parentLocale]=[]),Ce[b.parentLocale].push({name:a,config:b}),null;c=Be[b.parentLocale]._config}
// backwards compat for now: also set the locale
// make sure we set the locale AFTER all child locales have been
// created, so we won't end up with the child locale set.
return Be[a]=new C(B(c,b)),Ce[a]&&Ce[a].forEach(function(a){_a(a.name,a.config)}),$a(a),Be[a]}
// useful for testing
return delete Be[a],null}function ab(a,b){if(null!=b){var c,d=Ae;
// MERGE
null!=Be[a]&&(d=Be[a]._config),b=B(d,b),c=new C(b),c.parentLocale=Be[a],Be[a]=c,
// backwards compat for now: also set the locale
$a(a)}else
// pass null for config to unupdate, useful for tests
null!=Be[a]&&(null!=Be[a].parentLocale?Be[a]=Be[a].parentLocale:null!=Be[a]&&delete Be[a]);return Be[a]}
// returns locale data
function bb(a){var b;if(a&&a._locale&&a._locale._abbr&&(a=a._locale._abbr),!a)return xe;if(!c(a)){if(
//short-circuit everything else
b=Za(a))return b;a=[a]}return Ya(a)}function cb(){return wd(Be)}function db(a){var b,c=a._a;return c&&m(a).overflow===-2&&(b=c[be]<0||c[be]>11?be:c[ce]<1||c[ce]>ea(c[ae],c[be])?ce:c[de]<0||c[de]>24||24===c[de]&&(0!==c[ee]||0!==c[fe]||0!==c[ge])?de:c[ee]<0||c[ee]>59?ee:c[fe]<0||c[fe]>59?fe:c[ge]<0||c[ge]>999?ge:-1,m(a)._overflowDayOfYear&&(b<ae||b>ce)&&(b=ce),m(a)._overflowWeeks&&b===-1&&(b=he),m(a)._overflowWeekday&&b===-1&&(b=ie),m(a).overflow=b),a}
// date from iso format
function eb(a){var b,c,d,e,f,g,h=a._i,i=De.exec(h)||Ee.exec(h);if(i){for(m(a).iso=!0,b=0,c=Ge.length;b<c;b++)if(Ge[b][1].exec(i[1])){e=Ge[b][0],d=Ge[b][2]!==!1;break}if(null==e)return void(a._isValid=!1);if(i[3]){for(b=0,c=He.length;b<c;b++)if(He[b][1].exec(i[3])){
// match[2] should be 'T' or space
f=(i[2]||" ")+He[b][0];break}if(null==f)return void(a._isValid=!1)}if(!d&&null!=f)return void(a._isValid=!1);if(i[4]){if(!Fe.exec(i[4]))return void(a._isValid=!1);g="Z"}a._f=e+(f||"")+(g||""),kb(a)}else a._isValid=!1}
// date from iso format or fallback
function fb(b){var c=Ie.exec(b._i);return null!==c?void(b._d=new Date(+c[1])):(eb(b),void(b._isValid===!1&&(delete b._isValid,a.createFromInputFallback(b))))}
// Pick the first defined of two or three arguments.
function gb(a,b,c){return null!=a?a:null!=b?b:c}function hb(b){
// hooks is actually the exported moment object
var c=new Date(a.now());return b._useUTC?[c.getUTCFullYear(),c.getUTCMonth(),c.getUTCDate()]:[c.getFullYear(),c.getMonth(),c.getDate()]}
// convert an array to a date.
// the array should mirror the parameters below
// note: all values past the year are optional and will default to the lowest possible value.
// [year, month, day , hour, minute, second, millisecond]
function ib(a){var b,c,d,e,f=[];if(!a._d){
// Default to current date.
// * if no year, month, day of month are given, default to today
// * if day of month is given, default month and year
// * if month is given, default only year
// * if year is given, don't default anything
for(d=hb(a),
//compute day of the year from weeks and weekdays
a._w&&null==a._a[ce]&&null==a._a[be]&&jb(a),
//if the day of the year is set, figure out what it is
a._dayOfYear&&(e=gb(a._a[ae],d[ae]),a._dayOfYear>pa(e)&&(m(a)._overflowDayOfYear=!0),c=ta(e,0,a._dayOfYear),a._a[be]=c.getUTCMonth(),a._a[ce]=c.getUTCDate()),b=0;b<3&&null==a._a[b];++b)a._a[b]=f[b]=d[b];
// Zero out whatever was not defaulted, including time
for(;b<7;b++)a._a[b]=f[b]=null==a._a[b]?2===b?1:0:a._a[b];
// Check for 24:00:00.000
24===a._a[de]&&0===a._a[ee]&&0===a._a[fe]&&0===a._a[ge]&&(a._nextDay=!0,a._a[de]=0),a._d=(a._useUTC?ta:sa).apply(null,f),
// Apply timezone offset from input. The actual utcOffset can be changed
// with parseZone.
null!=a._tzm&&a._d.setUTCMinutes(a._d.getUTCMinutes()-a._tzm),a._nextDay&&(a._a[de]=24)}}function jb(a){var b,c,d,e,f,g,h,i;if(b=a._w,null!=b.GG||null!=b.W||null!=b.E)f=1,g=4,
// TODO: We need to take the current isoWeekYear, but that depends on
// how we interpret now (local, utc, fixed offset). So create
// a now version of current config (take local/utc/offset flags, and
// create now).
c=gb(b.GG,a._a[ae],wa(sb(),1,4).year),d=gb(b.W,1),e=gb(b.E,1),(e<1||e>7)&&(i=!0);else{f=a._locale._week.dow,g=a._locale._week.doy;var j=wa(sb(),f,g);c=gb(b.gg,a._a[ae],j.year),
// Default to current week.
d=gb(b.w,j.week),null!=b.d?(
// weekday -- low day numbers are considered next week
e=b.d,(e<0||e>6)&&(i=!0)):null!=b.e?(
// local weekday -- counting starts from begining of week
e=b.e+f,(b.e<0||b.e>6)&&(i=!0)):
// default to begining of week
e=f}d<1||d>xa(c,f,g)?m(a)._overflowWeeks=!0:null!=i?m(a)._overflowWeekday=!0:(h=va(c,d,e,f,g),a._a[ae]=h.year,a._dayOfYear=h.dayOfYear)}
// date from string and format string
function kb(b){
// TODO: Move this to another part of the creation flow to prevent circular deps
if(b._f===a.ISO_8601)return void eb(b);b._a=[],m(b).empty=!0;
// This array is used to make a Date, either with `new Date` or `Date.UTC`
var c,d,e,f,g,h=""+b._i,i=h.length,j=0;for(e=Y(b._f,b._locale).match(Fd)||[],c=0;c<e.length;c++)f=e[c],d=(h.match($(f,b))||[])[0],
// console.log('token', token, 'parsedInput', parsedInput,
// 'regex', getParseRegexForToken(token, config));
d&&(g=h.substr(0,h.indexOf(d)),g.length>0&&m(b).unusedInput.push(g),h=h.slice(h.indexOf(d)+d.length),j+=d.length),
// don't parse if it's not a known token
Id[f]?(d?m(b).empty=!1:m(b).unusedTokens.push(f),da(f,d,b)):b._strict&&!d&&m(b).unusedTokens.push(f);
// add remaining unparsed input length to the string
m(b).charsLeftOver=i-j,h.length>0&&m(b).unusedInput.push(h),
// clear _12h flag if hour is <= 12
b._a[de]<=12&&m(b).bigHour===!0&&b._a[de]>0&&(m(b).bigHour=void 0),m(b).parsedDateParts=b._a.slice(0),m(b).meridiem=b._meridiem,
// handle meridiem
b._a[de]=lb(b._locale,b._a[de],b._meridiem),ib(b),db(b)}function lb(a,b,c){var d;
// Fallback
return null==c?b:null!=a.meridiemHour?a.meridiemHour(b,c):null!=a.isPM?(d=a.isPM(c),d&&b<12&&(b+=12),d||12!==b||(b=0),b):b}
// date from string and array of format strings
function mb(a){var b,c,d,e,f;if(0===a._f.length)return m(a).invalidFormat=!0,void(a._d=new Date(NaN));for(e=0;e<a._f.length;e++)f=0,b=q({},a),null!=a._useUTC&&(b._useUTC=a._useUTC),b._f=a._f[e],kb(b),n(b)&&(
// if there is any input that was not parsed add a penalty for that format
f+=m(b).charsLeftOver,
//or tokens
f+=10*m(b).unusedTokens.length,m(b).score=f,(null==d||f<d)&&(d=f,c=b));j(a,c||b)}function nb(a){if(!a._d){var b=L(a._i);a._a=h([b.year,b.month,b.day||b.date,b.hour,b.minute,b.second,b.millisecond],function(a){return a&&parseInt(a,10)}),ib(a)}}function ob(a){var b=new r(db(pb(a)));
// Adding is smart enough around DST
return b._nextDay&&(b.add(1,"d"),b._nextDay=void 0),b}function pb(a){var b=a._i,d=a._f;return a._locale=a._locale||bb(a._l),null===b||void 0===d&&""===b?o({nullInput:!0}):("string"==typeof b&&(a._i=b=a._locale.preparse(b)),s(b)?new r(db(b)):(g(b)?a._d=b:c(d)?mb(a):d?kb(a):qb(a),n(a)||(a._d=null),a))}function qb(b){var d=b._i;void 0===d?b._d=new Date(a.now()):g(d)?b._d=new Date(d.valueOf()):"string"==typeof d?fb(b):c(d)?(b._a=h(d.slice(0),function(a){return parseInt(a,10)}),ib(b)):"object"==typeof d?nb(b):f(d)?
// from milliseconds
b._d=new Date(d):a.createFromInputFallback(b)}function rb(a,b,f,g,h){var i={};
// object construction must be done this way.
// https://github.com/moment/moment/issues/1423
return f!==!0&&f!==!1||(g=f,f=void 0),(d(a)&&e(a)||c(a)&&0===a.length)&&(a=void 0),i._isAMomentObject=!0,i._useUTC=i._isUTC=h,i._l=f,i._i=a,i._f=b,i._strict=g,ob(i)}function sb(a,b,c,d){return rb(a,b,c,d,!1)}
// Pick a moment m from moments so that m[fn](other) is true for all
// other. This relies on the function fn to be transitive.
//
// moments should either be an array of moment objects or an array, whose
// first element is an array of moment objects.
function tb(a,b){var d,e;if(1===b.length&&c(b[0])&&(b=b[0]),!b.length)return sb();for(d=b[0],e=1;e<b.length;++e)b[e].isValid()&&!b[e][a](d)||(d=b[e]);return d}
// TODO: Use [].sort instead?
function ub(){var a=[].slice.call(arguments,0);return tb("isBefore",a)}function vb(){var a=[].slice.call(arguments,0);return tb("isAfter",a)}function wb(a){var b=L(a),c=b.year||0,d=b.quarter||0,e=b.month||0,f=b.week||0,g=b.day||0,h=b.hour||0,i=b.minute||0,j=b.second||0,k=b.millisecond||0;
// representation for dateAddRemove
this._milliseconds=+k+1e3*j+// 1000
6e4*i+// 1000 * 60
1e3*h*60*60,//using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978
// Because of dateAddRemove treats 24 hours as different from a
// day when working around DST, we need to store them separately
this._days=+g+7*f,
// It is impossible translate months into days without knowing
// which months you are are talking about, so we have to store
// it separately.
this._months=+e+3*d+12*c,this._data={},this._locale=bb(),this._bubble()}function xb(a){return a instanceof wb}function yb(a){return a<0?Math.round(-1*a)*-1:Math.round(a)}
// FORMATTING
function zb(a,b){U(a,0,0,function(){var a=this.utcOffset(),c="+";return a<0&&(a=-a,c="-"),c+T(~~(a/60),2)+b+T(~~a%60,2)})}function Ab(a,b){var c=(b||"").match(a);if(null===c)return null;var d=c[c.length-1]||[],e=(d+"").match(Me)||["-",0,0],f=+(60*e[1])+u(e[2]);return 0===f?0:"+"===e[0]?f:-f}
// Return a moment from input, that is local/utc/zone equivalent to model.
function Bb(b,c){var d,e;
// Use low-level api, because this fn is low-level api.
return c._isUTC?(d=c.clone(),e=(s(b)||g(b)?b.valueOf():sb(b).valueOf())-d.valueOf(),d._d.setTime(d._d.valueOf()+e),a.updateOffset(d,!1),d):sb(b).local()}function Cb(a){
// On Firefox.24 Date#getTimezoneOffset returns a floating point.
// https://github.com/moment/moment/pull/1871
return 15*-Math.round(a._d.getTimezoneOffset()/15)}
// MOMENTS
// keepLocalTime = true means only change the timezone, without
// affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->
// 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset
// +0200, so we adjust the time as needed, to be valid.
//
// Keeping the time actually adds/subtracts (one hour)
// from the actual represented time. That is why we call updateOffset
// a second time. In case it wants us to change the offset again
// _changeInProgress == true case, then we have to adjust, because
// there is no such time in the given timezone.
function Db(b,c){var d,e=this._offset||0;if(!this.isValid())return null!=b?this:NaN;if(null!=b){if("string"==typeof b){if(b=Ab(Xd,b),null===b)return this}else Math.abs(b)<16&&(b=60*b);return!this._isUTC&&c&&(d=Cb(this)),this._offset=b,this._isUTC=!0,null!=d&&this.add(d,"m"),e!==b&&(!c||this._changeInProgress?Tb(this,Ob(b-e,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,a.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?e:Cb(this)}function Eb(a,b){return null!=a?("string"!=typeof a&&(a=-a),this.utcOffset(a,b),this):-this.utcOffset()}function Fb(a){return this.utcOffset(0,a)}function Gb(a){return this._isUTC&&(this.utcOffset(0,a),this._isUTC=!1,a&&this.subtract(Cb(this),"m")),this}function Hb(){if(null!=this._tzm)this.utcOffset(this._tzm);else if("string"==typeof this._i){var a=Ab(Wd,this._i);null!=a?this.utcOffset(a):this.utcOffset(0,!0)}return this}function Ib(a){return!!this.isValid()&&(a=a?sb(a).utcOffset():0,(this.utcOffset()-a)%60===0)}function Jb(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Kb(){if(!p(this._isDSTShifted))return this._isDSTShifted;var a={};if(q(a,this),a=pb(a),a._a){var b=a._isUTC?k(a._a):sb(a._a);this._isDSTShifted=this.isValid()&&v(a._a,b.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function Lb(){return!!this.isValid()&&!this._isUTC}function Mb(){return!!this.isValid()&&this._isUTC}function Nb(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}function Ob(a,b){var c,d,e,g=a,
// matching against regexp is expensive, do it on demand
h=null;// checks for null or undefined
return xb(a)?g={ms:a._milliseconds,d:a._days,M:a._months}:f(a)?(g={},b?g[b]=a:g.milliseconds=a):(h=Ne.exec(a))?(c="-"===h[1]?-1:1,g={y:0,d:u(h[ce])*c,h:u(h[de])*c,m:u(h[ee])*c,s:u(h[fe])*c,ms:u(yb(1e3*h[ge]))*c}):(h=Oe.exec(a))?(c="-"===h[1]?-1:1,g={y:Pb(h[2],c),M:Pb(h[3],c),w:Pb(h[4],c),d:Pb(h[5],c),h:Pb(h[6],c),m:Pb(h[7],c),s:Pb(h[8],c)}):null==g?g={}:"object"==typeof g&&("from"in g||"to"in g)&&(e=Rb(sb(g.from),sb(g.to)),g={},g.ms=e.milliseconds,g.M=e.months),d=new wb(g),xb(a)&&i(a,"_locale")&&(d._locale=a._locale),d}function Pb(a,b){
// We'd normally use ~~inp for this, but unfortunately it also
// converts floats to ints.
// inp may be undefined, so careful calling replace on it.
var c=a&&parseFloat(a.replace(",","."));
// apply sign while we're at it
return(isNaN(c)?0:c)*b}function Qb(a,b){var c={milliseconds:0,months:0};return c.months=b.month()-a.month()+12*(b.year()-a.year()),a.clone().add(c.months,"M").isAfter(b)&&--c.months,c.milliseconds=+b-+a.clone().add(c.months,"M"),c}function Rb(a,b){var c;return a.isValid()&&b.isValid()?(b=Bb(b,a),a.isBefore(b)?c=Qb(a,b):(c=Qb(b,a),c.milliseconds=-c.milliseconds,c.months=-c.months),c):{milliseconds:0,months:0}}
// TODO: remove 'name' arg after deprecation is removed
function Sb(a,b){return function(c,d){var e,f;
//invert the arguments, but complain about it
return null===d||isNaN(+d)||(y(b,"moment()."+b+"(period, number) is deprecated. Please use moment()."+b+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),f=c,c=d,d=f),c="string"==typeof c?+c:c,e=Ob(c,d),Tb(this,e,a),this}}function Tb(b,c,d,e){var f=c._milliseconds,g=yb(c._days),h=yb(c._months);b.isValid()&&(e=null==e||e,f&&b._d.setTime(b._d.valueOf()+f*d),g&&Q(b,"Date",P(b,"Date")+g*d),h&&ja(b,P(b,"Month")+h*d),e&&a.updateOffset(b,g||h))}function Ub(a,b){var c=a.diff(b,"days",!0);return c<-6?"sameElse":c<-1?"lastWeek":c<0?"lastDay":c<1?"sameDay":c<2?"nextDay":c<7?"nextWeek":"sameElse"}function Vb(b,c){
// We want to compare the start of today, vs this.
// Getting start-of-today depends on whether we're local/utc/offset or not.
var d=b||sb(),e=Bb(d,this).startOf("day"),f=a.calendarFormat(this,e)||"sameElse",g=c&&(z(c[f])?c[f].call(this,d):c[f]);return this.format(g||this.localeData().calendar(f,this,sb(d)))}function Wb(){return new r(this)}function Xb(a,b){var c=s(a)?a:sb(a);return!(!this.isValid()||!c.isValid())&&(b=K(p(b)?"millisecond":b),"millisecond"===b?this.valueOf()>c.valueOf():c.valueOf()<this.clone().startOf(b).valueOf())}function Yb(a,b){var c=s(a)?a:sb(a);return!(!this.isValid()||!c.isValid())&&(b=K(p(b)?"millisecond":b),"millisecond"===b?this.valueOf()<c.valueOf():this.clone().endOf(b).valueOf()<c.valueOf())}function Zb(a,b,c,d){return d=d||"()",("("===d[0]?this.isAfter(a,c):!this.isBefore(a,c))&&(")"===d[1]?this.isBefore(b,c):!this.isAfter(b,c))}function $b(a,b){var c,d=s(a)?a:sb(a);return!(!this.isValid()||!d.isValid())&&(b=K(b||"millisecond"),"millisecond"===b?this.valueOf()===d.valueOf():(c=d.valueOf(),this.clone().startOf(b).valueOf()<=c&&c<=this.clone().endOf(b).valueOf()))}function _b(a,b){return this.isSame(a,b)||this.isAfter(a,b)}function ac(a,b){return this.isSame(a,b)||this.isBefore(a,b)}function bc(a,b,c){var d,e,f,g;// 1000
// 1000 * 60
// 1000 * 60 * 60
// 1000 * 60 * 60 * 24, negate dst
// 1000 * 60 * 60 * 24 * 7, negate dst
return this.isValid()?(d=Bb(a,this),d.isValid()?(e=6e4*(d.utcOffset()-this.utcOffset()),b=K(b),"year"===b||"month"===b||"quarter"===b?(g=cc(this,d),"quarter"===b?g/=3:"year"===b&&(g/=12)):(f=this-d,g="second"===b?f/1e3:"minute"===b?f/6e4:"hour"===b?f/36e5:"day"===b?(f-e)/864e5:"week"===b?(f-e)/6048e5:f),c?g:t(g)):NaN):NaN}function cc(a,b){
// difference in months
var c,d,e=12*(b.year()-a.year())+(b.month()-a.month()),
// b is in (anchor - 1 month, anchor + 1 month)
f=a.clone().add(e,"months");
//check for negative zero, return zero if negative zero
// linear across the month
// linear across the month
return b-f<0?(c=a.clone().add(e-1,"months"),d=(b-f)/(f-c)):(c=a.clone().add(e+1,"months"),d=(b-f)/(c-f)),-(e+d)||0}function dc(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function ec(){var a=this.clone().utc();return 0<a.year()&&a.year()<=9999?z(Date.prototype.toISOString)?this.toDate().toISOString():X(a,"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]"):X(a,"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]")}/**
* Return a human readable representation of a moment that can
* also be evaluated to get a new moment which is the same
*
* @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects
*/
function fc(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var a="moment",b="";this.isLocal()||(a=0===this.utcOffset()?"moment.utc":"moment.parseZone",b="Z");var c="["+a+'("]',d=0<this.year()&&this.year()<=9999?"YYYY":"YYYYYY",e="-MM-DD[T]HH:mm:ss.SSS",f=b+'[")]';return this.format(c+d+e+f)}function gc(b){b||(b=this.isUtc()?a.defaultFormatUtc:a.defaultFormat);var c=X(this,b);return this.localeData().postformat(c)}function hc(a,b){return this.isValid()&&(s(a)&&a.isValid()||sb(a).isValid())?Ob({to:this,from:a}).locale(this.locale()).humanize(!b):this.localeData().invalidDate()}function ic(a){return this.from(sb(),a)}function jc(a,b){return this.isValid()&&(s(a)&&a.isValid()||sb(a).isValid())?Ob({from:this,to:a}).locale(this.locale()).humanize(!b):this.localeData().invalidDate()}function kc(a){return this.to(sb(),a)}
// If passed a locale key, it will set the locale for this
// instance. Otherwise, it will return the locale configuration
// variables for this instance.
function lc(a){var b;return void 0===a?this._locale._abbr:(b=bb(a),null!=b&&(this._locale=b),this)}function mc(){return this._locale}function nc(a){
// the following switch intentionally omits break keywords
// to utilize falling through the cases.
switch(a=K(a)){case"year":this.month(0);/* falls through */
case"quarter":case"month":this.date(1);/* falls through */
case"week":case"isoWeek":case"day":case"date":this.hours(0);/* falls through */
case"hour":this.minutes(0);/* falls through */
case"minute":this.seconds(0);/* falls through */
case"second":this.milliseconds(0)}
// weeks are a special case
// quarters are also special
return"week"===a&&this.weekday(0),"isoWeek"===a&&this.isoWeekday(1),"quarter"===a&&this.month(3*Math.floor(this.month()/3)),this}function oc(a){
// 'date' is an alias for 'day', so it should be considered as such.
return a=K(a),void 0===a||"millisecond"===a?this:("date"===a&&(a="day"),this.startOf(a).add(1,"isoWeek"===a?"week":a).subtract(1,"ms"))}function pc(){return this._d.valueOf()-6e4*(this._offset||0)}function qc(){return Math.floor(this.valueOf()/1e3)}function rc(){return new Date(this.valueOf())}function sc(){var a=this;return[a.year(),a.month(),a.date(),a.hour(),a.minute(),a.second(),a.millisecond()]}function tc(){var a=this;return{years:a.year(),months:a.month(),date:a.date(),hours:a.hours(),minutes:a.minutes(),seconds:a.seconds(),milliseconds:a.milliseconds()}}function uc(){
// new Date(NaN).toJSON() === null
return this.isValid()?this.toISOString():null}function vc(){return n(this)}function wc(){return j({},m(this))}function xc(){return m(this).overflow}function yc(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}function zc(a,b){U(0,[a,a.length],0,b)}
// MOMENTS
function Ac(a){return Ec.call(this,a,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)}function Bc(a){return Ec.call(this,a,this.isoWeek(),this.isoWeekday(),1,4)}function Cc(){return xa(this.year(),1,4)}function Dc(){var a=this.localeData()._week;return xa(this.year(),a.dow,a.doy)}function Ec(a,b,c,d,e){var f;return null==a?wa(this,d,e).year:(f=xa(a,d,e),b>f&&(b=f),Fc.call(this,a,b,c,d,e))}function Fc(a,b,c,d,e){var f=va(a,b,c,d,e),g=ta(f.year,0,f.dayOfYear);return this.year(g.getUTCFullYear()),this.month(g.getUTCMonth()),this.date(g.getUTCDate()),this}
// MOMENTS
function Gc(a){return null==a?Math.ceil((this.month()+1)/3):this.month(3*(a-1)+this.month()%3)}
// HELPERS
// MOMENTS
function Hc(a){var b=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==a?b:this.add(a-b,"d")}function Ic(a,b){b[ge]=u(1e3*("0."+a))}
// MOMENTS
function Jc(){return this._isUTC?"UTC":""}function Kc(){return this._isUTC?"Coordinated Universal Time":""}function Lc(a){return sb(1e3*a)}function Mc(){return sb.apply(null,arguments).parseZone()}function Nc(a){return a}function Oc(a,b,c,d){var e=bb(),f=k().set(d,b);return e[c](f,a)}function Pc(a,b,c){if(f(a)&&(b=a,a=void 0),a=a||"",null!=b)return Oc(a,b,c,"month");var d,e=[];for(d=0;d<12;d++)e[d]=Oc(a,d,c,"month");return e}
// ()
// (5)
// (fmt, 5)
// (fmt)
// (true)
// (true, 5)
// (true, fmt, 5)
// (true, fmt)
function Qc(a,b,c,d){"boolean"==typeof a?(f(b)&&(c=b,b=void 0),b=b||""):(b=a,c=b,a=!1,f(b)&&(c=b,b=void 0),b=b||"");var e=bb(),g=a?e._week.dow:0;if(null!=c)return Oc(b,(c+g)%7,d,"day");var h,i=[];for(h=0;h<7;h++)i[h]=Oc(b,(h+g)%7,d,"day");return i}function Rc(a,b){return Pc(a,b,"months")}function Sc(a,b){return Pc(a,b,"monthsShort")}function Tc(a,b,c){return Qc(a,b,c,"weekdays")}function Uc(a,b,c){return Qc(a,b,c,"weekdaysShort")}function Vc(a,b,c){return Qc(a,b,c,"weekdaysMin")}function Wc(){var a=this._data;return this._milliseconds=Ze(this._milliseconds),this._days=Ze(this._days),this._months=Ze(this._months),a.milliseconds=Ze(a.milliseconds),a.seconds=Ze(a.seconds),a.minutes=Ze(a.minutes),a.hours=Ze(a.hours),a.months=Ze(a.months),a.years=Ze(a.years),this}function Xc(a,b,c,d){var e=Ob(b,c);return a._milliseconds+=d*e._milliseconds,a._days+=d*e._days,a._months+=d*e._months,a._bubble()}
// supports only 2.0-style add(1, 's') or add(duration)
function Yc(a,b){return Xc(this,a,b,1)}
// supports only 2.0-style subtract(1, 's') or subtract(duration)
function Zc(a,b){return Xc(this,a,b,-1)}function $c(a){return a<0?Math.floor(a):Math.ceil(a)}function _c(){var a,b,c,d,e,f=this._milliseconds,g=this._days,h=this._months,i=this._data;
// if we have a mix of positive and negative values, bubble down first
// check: https://github.com/moment/moment/issues/2166
// The following code bubbles up values, see the tests for
// examples of what that means.
// convert days to months
// 12 months -> 1 year
return f>=0&&g>=0&&h>=0||f<=0&&g<=0&&h<=0||(f+=864e5*$c(bd(h)+g),g=0,h=0),i.milliseconds=f%1e3,a=t(f/1e3),i.seconds=a%60,b=t(a/60),i.minutes=b%60,c=t(b/60),i.hours=c%24,g+=t(c/24),e=t(ad(g)),h+=e,g-=$c(bd(e)),d=t(h/12),h%=12,i.days=g,i.months=h,i.years=d,this}function ad(a){
// 400 years have 146097 days (taking into account leap year rules)
// 400 years have 12 months === 4800
return 4800*a/146097}function bd(a){
// the reverse of daysToMonths
return 146097*a/4800}function cd(a){var b,c,d=this._milliseconds;if(a=K(a),"month"===a||"year"===a)return b=this._days+d/864e5,c=this._months+ad(b),"month"===a?c:c/12;switch(
// handle milliseconds separately because of floating point math errors (issue #1867)
b=this._days+Math.round(bd(this._months)),a){case"week":return b/7+d/6048e5;case"day":return b+d/864e5;case"hour":return 24*b+d/36e5;case"minute":return 1440*b+d/6e4;case"second":return 86400*b+d/1e3;
// Math.floor prevents floating point math errors here
case"millisecond":return Math.floor(864e5*b)+d;default:throw new Error("Unknown unit "+a)}}
// TODO: Use this.as('ms')?
function dd(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*u(this._months/12)}function ed(a){return function(){return this.as(a)}}function fd(a){return a=K(a),this[a+"s"]()}function gd(a){return function(){return this._data[a]}}function hd(){return t(this.days()/7)}
// helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize
function id(a,b,c,d,e){return e.relativeTime(b||1,!!c,a,d)}function jd(a,b,c){var d=Ob(a).abs(),e=of(d.as("s")),f=of(d.as("m")),g=of(d.as("h")),h=of(d.as("d")),i=of(d.as("M")),j=of(d.as("y")),k=e<pf.s&&["s",e]||f<=1&&["m"]||f<pf.m&&["mm",f]||g<=1&&["h"]||g<pf.h&&["hh",g]||h<=1&&["d"]||h<pf.d&&["dd",h]||i<=1&&["M"]||i<pf.M&&["MM",i]||j<=1&&["y"]||["yy",j];return k[2]=b,k[3]=+a>0,k[4]=c,id.apply(null,k)}
// This function allows you to set the rounding function for relative time strings
function kd(a){return void 0===a?of:"function"==typeof a&&(of=a,!0)}
// This function allows you to set a threshold for relative time strings
function ld(a,b){return void 0!==pf[a]&&(void 0===b?pf[a]:(pf[a]=b,!0))}function md(a){var b=this.localeData(),c=jd(this,!a,b);return a&&(c=b.pastFuture(+this,c)),b.postformat(c)}function nd(){
// for ISO strings we do not use the normal bubbling rules:
// * milliseconds bubble up until they become hours
// * days do not bubble at all
// * months bubble up until they become years
// This is because there is no context-free conversion between hours and days
// (think of clock changes)
// and also not between days and months (28-31 days per month)
var a,b,c,d=qf(this._milliseconds)/1e3,e=qf(this._days),f=qf(this._months);
// 3600 seconds -> 60 minutes -> 1 hour
a=t(d/60),b=t(a/60),d%=60,a%=60,
// 12 months -> 1 year
c=t(f/12),f%=12;
// inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js
var g=c,h=f,i=e,j=b,k=a,l=d,m=this.asSeconds();return m?(m<0?"-":"")+"P"+(g?g+"Y":"")+(h?h+"M":"")+(i?i+"D":"")+(j||k||l?"T":"")+(j?j+"H":"")+(k?k+"M":"")+(l?l+"S":""):"P0D"}var od,pd;pd=Array.prototype.some?Array.prototype.some:function(a){for(var b=Object(this),c=b.length>>>0,d=0;d<c;d++)if(d in b&&a.call(this,b[d],d,b))return!0;return!1};var qd=pd,rd=a.momentProperties=[],sd=!1,td={};a.suppressDeprecationWarnings=!1,a.deprecationHandler=null;var ud;ud=Object.keys?Object.keys:function(a){var b,c=[];for(b in a)i(a,b)&&c.push(b);return c};var vd,wd=ud,xd={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},yd={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},zd="Invalid date",Ad="%d",Bd=/\d{1,2}/,Cd={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},Dd={},Ed={},Fd=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,Gd=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,Hd={},Id={},Jd=/\d/,Kd=/\d\d/,Ld=/\d{3}/,Md=/\d{4}/,Nd=/[+-]?\d{6}/,Od=/\d\d?/,Pd=/\d\d\d\d?/,Qd=/\d\d\d\d\d\d?/,Rd=/\d{1,3}/,Sd=/\d{1,4}/,Td=/[+-]?\d{1,6}/,Ud=/\d+/,Vd=/[+-]?\d+/,Wd=/Z|[+-]\d\d:?\d\d/gi,Xd=/Z|[+-]\d\d(?::?\d\d)?/gi,Yd=/[+-]?\d+(\.\d{1,3})?/,Zd=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,$d={},_d={},ae=0,be=1,ce=2,de=3,ee=4,fe=5,ge=6,he=7,ie=8;vd=Array.prototype.indexOf?Array.prototype.indexOf:function(a){
// I know
var b;for(b=0;b<this.length;++b)if(this[b]===a)return b;return-1};var je=vd;
// FORMATTING
U("M",["MM",2],"Mo",function(){return this.month()+1}),U("MMM",0,0,function(a){return this.localeData().monthsShort(this,a)}),U("MMMM",0,0,function(a){return this.localeData().months(this,a)}),
// ALIASES
J("month","M"),
// PRIORITY
M("month",8),
// PARSING
Z("M",Od),Z("MM",Od,Kd),Z("MMM",function(a,b){return b.monthsShortRegex(a)}),Z("MMMM",function(a,b){return b.monthsRegex(a)}),ba(["M","MM"],function(a,b){b[be]=u(a)-1}),ba(["MMM","MMMM"],function(a,b,c,d){var e=c._locale.monthsParse(a,d,c._strict);
// if we didn't find a month name, mark the date as invalid.
null!=e?b[be]=e:m(c).invalidMonth=a});
// LOCALES
var ke=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,le="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),me="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),ne=Zd,oe=Zd;
// FORMATTING
U("Y",0,0,function(){var a=this.year();return a<=9999?""+a:"+"+a}),U(0,["YY",2],0,function(){return this.year()%100}),U(0,["YYYY",4],0,"year"),U(0,["YYYYY",5],0,"year"),U(0,["YYYYYY",6,!0],0,"year"),
// ALIASES
J("year","y"),
// PRIORITIES
M("year",1),
// PARSING
Z("Y",Vd),Z("YY",Od,Kd),Z("YYYY",Sd,Md),Z("YYYYY",Td,Nd),Z("YYYYYY",Td,Nd),ba(["YYYYY","YYYYYY"],ae),ba("YYYY",function(b,c){c[ae]=2===b.length?a.parseTwoDigitYear(b):u(b)}),ba("YY",function(b,c){c[ae]=a.parseTwoDigitYear(b)}),ba("Y",function(a,b){b[ae]=parseInt(a,10)}),
// HOOKS
a.parseTwoDigitYear=function(a){return u(a)+(u(a)>68?1900:2e3)};
// MOMENTS
var pe=O("FullYear",!0);
// FORMATTING
U("w",["ww",2],"wo","week"),U("W",["WW",2],"Wo","isoWeek"),
// ALIASES
J("week","w"),J("isoWeek","W"),
// PRIORITIES
M("week",5),M("isoWeek",5),
// PARSING
Z("w",Od),Z("ww",Od,Kd),Z("W",Od),Z("WW",Od,Kd),ca(["w","ww","W","WW"],function(a,b,c,d){b[d.substr(0,1)]=u(a)});var qe={dow:0,// Sunday is the first day of the week.
doy:6};
// FORMATTING
U("d",0,"do","day"),U("dd",0,0,function(a){return this.localeData().weekdaysMin(this,a)}),U("ddd",0,0,function(a){return this.localeData().weekdaysShort(this,a)}),U("dddd",0,0,function(a){return this.localeData().weekdays(this,a)}),U("e",0,0,"weekday"),U("E",0,0,"isoWeekday"),
// ALIASES
J("day","d"),J("weekday","e"),J("isoWeekday","E"),
// PRIORITY
M("day",11),M("weekday",11),M("isoWeekday",11),
// PARSING
Z("d",Od),Z("e",Od),Z("E",Od),Z("dd",function(a,b){return b.weekdaysMinRegex(a)}),Z("ddd",function(a,b){return b.weekdaysShortRegex(a)}),Z("dddd",function(a,b){return b.weekdaysRegex(a)}),ca(["dd","ddd","dddd"],function(a,b,c,d){var e=c._locale.weekdaysParse(a,d,c._strict);
// if we didn't get a weekday name, mark the date as invalid
null!=e?b.d=e:m(c).invalidWeekday=a}),ca(["d","e","E"],function(a,b,c,d){b[d]=u(a)});
// LOCALES
var re="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),se="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),te="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),ue=Zd,ve=Zd,we=Zd;U("H",["HH",2],0,"hour"),U("h",["hh",2],0,Ra),U("k",["kk",2],0,Sa),U("hmm",0,0,function(){return""+Ra.apply(this)+T(this.minutes(),2)}),U("hmmss",0,0,function(){return""+Ra.apply(this)+T(this.minutes(),2)+T(this.seconds(),2)}),U("Hmm",0,0,function(){return""+this.hours()+T(this.minutes(),2)}),U("Hmmss",0,0,function(){return""+this.hours()+T(this.minutes(),2)+T(this.seconds(),2)}),Ta("a",!0),Ta("A",!1),
// ALIASES
J("hour","h"),
// PRIORITY
M("hour",13),Z("a",Ua),Z("A",Ua),Z("H",Od),Z("h",Od),Z("HH",Od,Kd),Z("hh",Od,Kd),Z("hmm",Pd),Z("hmmss",Qd),Z("Hmm",Pd),Z("Hmmss",Qd),ba(["H","HH"],de),ba(["a","A"],function(a,b,c){c._isPm=c._locale.isPM(a),c._meridiem=a}),ba(["h","hh"],function(a,b,c){b[de]=u(a),m(c).bigHour=!0}),ba("hmm",function(a,b,c){var d=a.length-2;b[de]=u(a.substr(0,d)),b[ee]=u(a.substr(d)),m(c).bigHour=!0}),ba("hmmss",function(a,b,c){var d=a.length-4,e=a.length-2;b[de]=u(a.substr(0,d)),b[ee]=u(a.substr(d,2)),b[fe]=u(a.substr(e)),m(c).bigHour=!0}),ba("Hmm",function(a,b,c){var d=a.length-2;b[de]=u(a.substr(0,d)),b[ee]=u(a.substr(d))}),ba("Hmmss",function(a,b,c){var d=a.length-4,e=a.length-2;b[de]=u(a.substr(0,d)),b[ee]=u(a.substr(d,2)),b[fe]=u(a.substr(e))});var xe,ye=/[ap]\.?m?\.?/i,ze=O("Hours",!0),Ae={calendar:xd,longDateFormat:yd,invalidDate:zd,ordinal:Ad,ordinalParse:Bd,relativeTime:Cd,months:le,monthsShort:me,week:qe,weekdays:re,weekdaysMin:te,weekdaysShort:se,meridiemParse:ye},Be={},Ce={},De=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Ee=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Fe=/Z|[+-]\d\d(?::?\d\d)?/,Ge=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],
// YYYYMM is NOT allowed by the standard
["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],He=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Ie=/^\/?Date\((\-?\d+)/i;a.createFromInputFallback=x("value provided is not in a recognized ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(a){a._d=new Date(a._i+(a._useUTC?" UTC":""))}),
// constant that refers to the ISO standard
a.ISO_8601=function(){};var Je=x("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var a=sb.apply(null,arguments);return this.isValid()&&a.isValid()?a<this?this:a:o()}),Ke=x("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var a=sb.apply(null,arguments);return this.isValid()&&a.isValid()?a>this?this:a:o()}),Le=function(){return Date.now?Date.now():+new Date};zb("Z",":"),zb("ZZ",""),
// PARSING
Z("Z",Xd),Z("ZZ",Xd),ba(["Z","ZZ"],function(a,b,c){c._useUTC=!0,c._tzm=Ab(Xd,a)});
// HELPERS
// timezone chunker
// '+10:00' > ['10', '00']
// '-1530' > ['-15', '30']
var Me=/([\+\-]|\d\d)/gi;
// HOOKS
// This function will be called whenever a moment is mutated.
// It is intended to keep the offset in sync with the timezone.
a.updateOffset=function(){};
// ASP.NET json date format regex
var Ne=/^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,Oe=/^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/;Ob.fn=wb.prototype;var Pe=Sb(1,"add"),Qe=Sb(-1,"subtract");a.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",a.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var Re=x("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(a){return void 0===a?this.localeData():this.locale(a)});
// FORMATTING
U(0,["gg",2],0,function(){return this.weekYear()%100}),U(0,["GG",2],0,function(){return this.isoWeekYear()%100}),zc("gggg","weekYear"),zc("ggggg","weekYear"),zc("GGGG","isoWeekYear"),zc("GGGGG","isoWeekYear"),
// ALIASES
J("weekYear","gg"),J("isoWeekYear","GG"),
// PRIORITY
M("weekYear",1),M("isoWeekYear",1),
// PARSING
Z("G",Vd),Z("g",Vd),Z("GG",Od,Kd),Z("gg",Od,Kd),Z("GGGG",Sd,Md),Z("gggg",Sd,Md),Z("GGGGG",Td,Nd),Z("ggggg",Td,Nd),ca(["gggg","ggggg","GGGG","GGGGG"],function(a,b,c,d){b[d.substr(0,2)]=u(a)}),ca(["gg","GG"],function(b,c,d,e){c[e]=a.parseTwoDigitYear(b)}),
// FORMATTING
U("Q",0,"Qo","quarter"),
// ALIASES
J("quarter","Q"),
// PRIORITY
M("quarter",7),
// PARSING
Z("Q",Jd),ba("Q",function(a,b){b[be]=3*(u(a)-1)}),
// FORMATTING
U("D",["DD",2],"Do","date"),
// ALIASES
J("date","D"),
// PRIOROITY
M("date",9),
// PARSING
Z("D",Od),Z("DD",Od,Kd),Z("Do",function(a,b){return a?b._ordinalParse:b._ordinalParseLenient}),ba(["D","DD"],ce),ba("Do",function(a,b){b[ce]=u(a.match(Od)[0],10)});
// MOMENTS
var Se=O("Date",!0);
// FORMATTING
U("DDD",["DDDD",3],"DDDo","dayOfYear"),
// ALIASES
J("dayOfYear","DDD"),
// PRIORITY
M("dayOfYear",4),
// PARSING
Z("DDD",Rd),Z("DDDD",Ld),ba(["DDD","DDDD"],function(a,b,c){c._dayOfYear=u(a)}),
// FORMATTING
U("m",["mm",2],0,"minute"),
// ALIASES
J("minute","m"),
// PRIORITY
M("minute",14),
// PARSING
Z("m",Od),Z("mm",Od,Kd),ba(["m","mm"],ee);
// MOMENTS
var Te=O("Minutes",!1);
// FORMATTING
U("s",["ss",2],0,"second"),
// ALIASES
J("second","s"),
// PRIORITY
M("second",15),
// PARSING
Z("s",Od),Z("ss",Od,Kd),ba(["s","ss"],fe);
// MOMENTS
var Ue=O("Seconds",!1);
// FORMATTING
U("S",0,0,function(){return~~(this.millisecond()/100)}),U(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),U(0,["SSS",3],0,"millisecond"),U(0,["SSSS",4],0,function(){return 10*this.millisecond()}),U(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),U(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),U(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),U(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),U(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),
// ALIASES
J("millisecond","ms"),
// PRIORITY
M("millisecond",16),
// PARSING
Z("S",Rd,Jd),Z("SS",Rd,Kd),Z("SSS",Rd,Ld);var Ve;for(Ve="SSSS";Ve.length<=9;Ve+="S")Z(Ve,Ud);for(Ve="S";Ve.length<=9;Ve+="S")ba(Ve,Ic);
// MOMENTS
var We=O("Milliseconds",!1);
// FORMATTING
U("z",0,0,"zoneAbbr"),U("zz",0,0,"zoneName");var Xe=r.prototype;Xe.add=Pe,Xe.calendar=Vb,Xe.clone=Wb,Xe.diff=bc,Xe.endOf=oc,Xe.format=gc,Xe.from=hc,Xe.fromNow=ic,Xe.to=jc,Xe.toNow=kc,Xe.get=R,Xe.invalidAt=xc,Xe.isAfter=Xb,Xe.isBefore=Yb,Xe.isBetween=Zb,Xe.isSame=$b,Xe.isSameOrAfter=_b,Xe.isSameOrBefore=ac,Xe.isValid=vc,Xe.lang=Re,Xe.locale=lc,Xe.localeData=mc,Xe.max=Ke,Xe.min=Je,Xe.parsingFlags=wc,Xe.set=S,Xe.startOf=nc,Xe.subtract=Qe,Xe.toArray=sc,Xe.toObject=tc,Xe.toDate=rc,Xe.toISOString=ec,Xe.inspect=fc,Xe.toJSON=uc,Xe.toString=dc,Xe.unix=qc,Xe.valueOf=pc,Xe.creationData=yc,
// Year
Xe.year=pe,Xe.isLeapYear=ra,
// Week Year
Xe.weekYear=Ac,Xe.isoWeekYear=Bc,
// Quarter
Xe.quarter=Xe.quarters=Gc,
// Month
Xe.month=ka,Xe.daysInMonth=la,
// Week
Xe.week=Xe.weeks=Ba,Xe.isoWeek=Xe.isoWeeks=Ca,Xe.weeksInYear=Dc,Xe.isoWeeksInYear=Cc,
// Day
Xe.date=Se,Xe.day=Xe.days=Ka,Xe.weekday=La,Xe.isoWeekday=Ma,Xe.dayOfYear=Hc,
// Hour
Xe.hour=Xe.hours=ze,
// Minute
Xe.minute=Xe.minutes=Te,
// Second
Xe.second=Xe.seconds=Ue,
// Millisecond
Xe.millisecond=Xe.milliseconds=We,
// Offset
Xe.utcOffset=Db,Xe.utc=Fb,Xe.local=Gb,Xe.parseZone=Hb,Xe.hasAlignedHourOffset=Ib,Xe.isDST=Jb,Xe.isLocal=Lb,Xe.isUtcOffset=Mb,Xe.isUtc=Nb,Xe.isUTC=Nb,
// Timezone
Xe.zoneAbbr=Jc,Xe.zoneName=Kc,
// Deprecations
Xe.dates=x("dates accessor is deprecated. Use date instead.",Se),Xe.months=x("months accessor is deprecated. Use month instead",ka),Xe.years=x("years accessor is deprecated. Use year instead",pe),Xe.zone=x("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",Eb),Xe.isDSTShifted=x("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",Kb);var Ye=C.prototype;Ye.calendar=D,Ye.longDateFormat=E,Ye.invalidDate=F,Ye.ordinal=G,Ye.preparse=Nc,Ye.postformat=Nc,Ye.relativeTime=H,Ye.pastFuture=I,Ye.set=A,
// Month
Ye.months=fa,Ye.monthsShort=ga,Ye.monthsParse=ia,Ye.monthsRegex=na,Ye.monthsShortRegex=ma,
// Week
Ye.week=ya,Ye.firstDayOfYear=Aa,Ye.firstDayOfWeek=za,
// Day of Week
Ye.weekdays=Fa,Ye.weekdaysMin=Ha,Ye.weekdaysShort=Ga,Ye.weekdaysParse=Ja,Ye.weekdaysRegex=Na,Ye.weekdaysShortRegex=Oa,Ye.weekdaysMinRegex=Pa,
// Hours
Ye.isPM=Va,Ye.meridiem=Wa,$a("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(a){var b=a%10,c=1===u(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c}}),
// Side effect imports
a.lang=x("moment.lang is deprecated. Use moment.locale instead.",$a),a.langData=x("moment.langData is deprecated. Use moment.localeData instead.",bb);var Ze=Math.abs,$e=ed("ms"),_e=ed("s"),af=ed("m"),bf=ed("h"),cf=ed("d"),df=ed("w"),ef=ed("M"),ff=ed("y"),gf=gd("milliseconds"),hf=gd("seconds"),jf=gd("minutes"),kf=gd("hours"),lf=gd("days"),mf=gd("months"),nf=gd("years"),of=Math.round,pf={s:45,// seconds to minute
m:45,// minutes to hour
h:22,// hours to day
d:26,// days to month
M:11},qf=Math.abs,rf=wb.prototype;
// Deprecations
// Side effect imports
// FORMATTING
// PARSING
// Side effect imports
return rf.abs=Wc,rf.add=Yc,rf.subtract=Zc,rf.as=cd,rf.asMilliseconds=$e,rf.asSeconds=_e,rf.asMinutes=af,rf.asHours=bf,rf.asDays=cf,rf.asWeeks=df,rf.asMonths=ef,rf.asYears=ff,rf.valueOf=dd,rf._bubble=_c,rf.get=fd,rf.milliseconds=gf,rf.seconds=hf,rf.minutes=jf,rf.hours=kf,rf.days=lf,rf.weeks=hd,rf.months=mf,rf.years=nf,rf.humanize=md,rf.toISOString=nd,rf.toString=nd,rf.toJSON=nd,rf.locale=lc,rf.localeData=mc,rf.toIsoString=x("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",nd),rf.lang=Re,U("X",0,0,"unix"),U("x",0,0,"valueOf"),Z("x",Vd),Z("X",Yd),ba("X",function(a,b,c){c._d=new Date(1e3*parseFloat(a,10))}),ba("x",function(a,b,c){c._d=new Date(u(a))}),a.version="2.17.1",b(sb),a.fn=Xe,a.min=ub,a.max=vb,a.now=Le,a.utc=k,a.unix=Lc,a.months=Rc,a.isDate=g,a.locale=$a,a.invalid=o,a.duration=Ob,a.isMoment=s,a.weekdays=Tc,a.parseZone=Mc,a.localeData=bb,a.isDuration=xb,a.monthsShort=Sc,a.weekdaysMin=Vc,a.defineLocale=_a,a.updateLocale=ab,a.locales=cb,a.weekdaysShort=Uc,a.normalizeUnits=K,a.relativeTimeRounding=kd,a.relativeTimeThreshold=ld,a.calendarFormat=Ub,a.prototype=Xe,a});

303
src/main/resources/static/files/assets/pages/store-js/note.js

@ -0,0 +1,303 @@
;(function($, db) {
var Note; // Initialize note
/**
* Format timestamp in a specified format
* @param {int} time Time in integer format
* @return {string} Formated time string
*/
function _formatDate(time) {
return moment(Number(time)).format('DD MMMM YYYY, h:mm a');
}
/**
* Escape HTML tags
* @param {string} html Unescaped content
* @return {string} HTML escaped content
*/
function _escapeHtml(html) {
return $('<div />').text(html).html();
}
// Debouncer to imporve performance
function _debounce(func, wait, immediate) {
var timeout;
return function() {
var context = this, args = arguments;
var later = function() {
timeout = null;
if (!immediate) func.apply(context, args);
};
var callNow = immediate && !timeout;
clearTimeout(timeout);
timeout = setTimeout(later, wait);
if (callNow) func.apply(context, args);
};
};
Note = {
// DOM selectors
$list: $('#Note-list'), // Note list wrapper
$pad: $('#Note-pad'), // Note writing box
$created: $('#Note-created__date'), // Note created date holder
$add: $('.Note-add'), // Note create button
$search: $('#Note-search'), // Note search box
_length: 0, // Length of notes
_lastIndex: 0, // Last note index
_PREFIX: 'TB', // DB record key prefix
_UID_SEPERATOR: '-', // Seperator between prefix and index
init: function() {
// Event must be called before render
Note.addEvents();
Note.render();
},
/**
* Render full note list
* @return {object} Note module object
*/
render: function() {
var templates = [];
Note._length = 0;
/**
* Loop through all DB entry and prepare only valid note for output
* @param {string} key DB entry key
* @param {object} entry DB entry object
* @return {void}
*/
db.forEach(function(key, entry) {
if (Note._isValid(key)) {
templates.unshift(Note._getNoteTemplate(entry));
++Note._length;
if (entry.id > Note._lastIndex) {
Note._lastIndex = entry.id;
}
}
});
Note._renderList(templates);
return this;
},
/**
* Bind event listeners to DOM elements
*/
addEvents: function() {
// Note open handler
Note.$list.on('click', '.Note', function() {
var note = $(this),
noteWrapper = note.parent(),
id = note.data('uid');
if (id) Note.open(id);
noteWrapper.addClass('active').siblings().removeClass('active');
});
// Note delete handler
Note.$list.on('click', '.Note-delete', function(e) {
e.preventDefault();
Note.delete($(this).data('uid'));
$(this).parent().remove();
Note.$pad.val(' ');
if (!Note._length) {
Note.$created.text('');
}
});
// Note create handler
Note.$add.on('click', function(e) {
e.preventDefault();
Note.create({}).render();
});
// Create a note on focus if there is no note
Note.$pad.on('focus', function() {
if (!Note._length) {
Note.create({}).render();
}
});
// Update note on keyup
Note.$pad.on('keyup', _debounce(function(e) {
var title,
content = Note.$pad.val(),
$note = $('.Note[data-uid="' + Note.$pad.data('uid') + '"');
if (-1 !== content.indexOf('\n')) {
title = content.slice(0, content.indexOf('\n'));
Note.update(Note.$pad.data('uid'), {title:title, content:content});
$note.find('.Note__name').text(title);
$note.find('.Note__desc').text(Note._getPartialContent(content, title));
}
}, 200));
// Search note
Note.$search.on('keyup', _debounce(function() {
Note.search(Note.$search.val());
}, 200));
},
/**
* Create note
* @param {object} data Note data object
* @return {object} Note module object
*/
create: function(data) {
if ('object' !== $.type(data)) {
return new Error('Invalid data. Object expected.');
}
var defaults = {
id: ++Note._lastIndex,
title: 'Note Title',
content: '',
time: new Date().getTime()
};
$.extend(defaults, data);
store.set(Note._getUID(defaults.id), defaults);
return this;
},
/**
* Update note
* @param {string} key Note record key
* @param {object} note Note data object
* @return {object} Note module object
*/
update: function(key, note) {
if (!Note._isValid(key)) {
return new Error('Invalid note key.');
}
db.transact(key, function(old) {
old = $.extend(old, note);
});
return this;
},
/**
* Delete note
* @param {string} key Note record key
* @return {object} Note module object
*/
delete: function(key) {
if (!Note._isValid(key)) {
return new Error('Invalid note key.');
}
store.remove(key);
--Note._length;
return this;
},
/**
* Open note to writing box and setup UI
* @param {string} key Note record key
* @return {object} Note module object
*/
open: function(key) {
if (!Note._isValid(key)) {
return new Error('Invalid note key.');
}
var note = db.get(key);
Note.$pad.val(note.content).data('uid', Note._getUID(note.id));
Note.$created.text(_formatDate(note.time));
return this;
},
/**
* Search note in DB and render search result
* @param {string} term Search term given by user
* @return {void}
*/
search: function(term) {
var templates = [], termRegx = new RegExp(term, 'gi');
db.forEach(function(key, entry) {
if (Note._isValid(key) && (termRegx.test(entry.content) || termRegx.test(entry.title))) {
templates.unshift(Note._getNoteTemplate(entry));
}
});
Note._renderList(templates);
},
/**
* Render note list and select first note
* @param {array} templates Array of complied note templates
* @return {void}
*/
_renderList: function(templates) {
Note.$list.html(templates).children(':first-child').find('.Note').trigger('click');
templates.length || Note.$pad.val(''); // Clear note pad when there is no note
},
/**
* Get note list item HTML template
* @param {object} data Single note object
* @return {string} Output ready note list item
*/
_getNoteTemplate: function(data) {
var template = '<li class="list-group-item">'
+ '<button class="Note-delete" data-uid="' + Note._getUID(data.id) + '" type="button">x</button>'
+ '<div class="Note" data-uid="' + Note._getUID(data.id) + '">'
+ '<div class="Note__name">' + _escapeHtml(data.title) + '</div>'
+ '<div class="Note__desc">' + _escapeHtml(Note._getPartialContent(data.content, data.title)) + '</div>'
+ '<span class="Note__date">' + _formatDate(data.time) + '</span>'
+ '</div>'
+ '</li>';
return template;
},
_getPartialContent: function(content, title) {
return content.slice(title.length);
},
// Generate UID
_getUID: function(id) {
return Note._PREFIX + Note._UID_SEPERATOR + id;
},
/**
* Check note entry validity
* @param {string} key Entry key
* @return {Boolean} Check if it is valid note entry
*/
_isValid: function(key) {
return key && (String(key).indexOf(Note._PREFIX) === 0);
}
};
Note.init();
/**
* Only for demo purpose, feel free to delete
*/
if (!db.get('demo_imported')) {
var demoNotes = [{
title: 'The Road Not Taken by Robert Frost',
content: 'The Road Not Taken by Robert Frost\n\nTwo roads diverged in a yellow wood,\nAnd sorry I could not travel both\nAnd be one traveler, long I stood\nAnd looked down one as far as I could\nTo where it bent in the undergrowth;\nThen took the other, as just as fair,\nAnd having perhaps the better claim,\nBecause it was grassy and wanted wear;\nThough as for that the passing there\nHad worn them really about the same,\nAnd both that morning equally lay\nIn leaves no step had trodden black.\nOh, I kept the first for another day!\nYet knowing how way leads on to way,\nI doubted if I should ever come back.\nI shall be telling this with a sigh\nSomewhere ages and ages hence:\nTwo roads diverged in a wood, and I-\nI took the one less traveled by,\nAnd that has made all the difference.'
},
{
title: 'To My Wife - With A Copy Of My Poems by Oscar Wilde',
content: 'To My Wife - With A Copy Of My Poems by Oscar Wilde\n\nI can write no stately proem\nAs a prelude to my lay;\nFrom a poet to a poem\nI would dare to say.\n\nFor if of these fallen petals\nOne to you seem fair,\nLove will waft it till it settles\nOn your hair.\n\nAnd when wind and winter harden\nAll the loveless land,\nIt will whisper of the garden,\nYou will understand.'
},
{
title: 'All the World\'s a Stage by William Shakespeare',
content: 'All the World\'s a Stage by William Shakespeare\n\nAll the world\'s a stage,\nAnd all the men and women merely players;\nThey have their exits and their entrances,\nAnd one man in his time plays many parts,\nHis acts being seven ages. At first, the infant,\nMewling and puking in the nurse\'s arms.\nThen the whining schoolboy, with his satchel\nAnd shining morning face, creeping like snail\nUnwillingly to school. And then the lover,\nSighing like furnace, with a woeful ballad\nMade to his mistress\' eyebrow. Then a soldier,\nFull of strange oaths and bearded like the pard,\nJealous in honor, sudden and quick in quarrel,\nSeeking the bubble reputation\nEven in the cannon\'s mouth. And then the justice,\nIn fair round belly with good capon lined,\nWith eyes severe and beard of formal cut,\nFull of wise saws and modern instances;\nAnd so he plays his part. The sixth age shifts\nInto the lean and slippered pantaloon,\nWith spectacles on nose and pouch on side;\nHis youthful hose, well saved, a world too wide\nFor his shrunk shank, and his big manly voice,\nTurning again toward childish treble, pipes\nAnd whistles in his sound. Last scene of all,\nThat ends this strange eventful history,\nIs second childishness and mere oblivion,\nSans teeth, sans eyes, sans taste, sans everything.'
}];
demoNotes.forEach(function(demoNote) {
Note.create(demoNote);
});
Note.render();
db.set('demo_imported', true);
}
window.TB_Note = Note;
})(jQuery, store);

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save