Skip to content

Commit 41ce095

Browse files
authored
V4.6.2 (#1574)
* V4.6.2 * sync front
1 parent 27d3c25 commit 41ce095

File tree

7 files changed

+253
-615
lines changed

7 files changed

+253
-615
lines changed
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
<?php
2+
3+
use App\Models\Configs;
4+
use Illuminate\Database\Migrations\Migration;
5+
6+
class BumpVersion040602 extends Migration
7+
{
8+
/**
9+
* Run the migrations.
10+
*
11+
* @return void
12+
*/
13+
public function up()
14+
{
15+
Configs::where('key', 'version')->update(['value' => '040602']);
16+
}
17+
18+
/**
19+
* Reverse the migrations.
20+
*
21+
* @return void
22+
*/
23+
public function down()
24+
{
25+
Configs::where('key', 'version')->update(['value' => '040601']);
26+
}
27+
}

public/dist/frame.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

public/dist/main.css

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

public/dist/main.js

Lines changed: 216 additions & 380 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

public/dist/view.js

Lines changed: 6 additions & 231 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,9 @@
88
!function(){"use strict";var g={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function y(e){return function(e,t){var r,n,i,s,a,o,p,c,l,u=1,f=e.length,d="";for(n=0;n<f;n++)if("string"==typeof e[n])d+=e[n];else if("object"==typeof e[n]){if((s=e[n]).keys)for(r=t[u],i=0;i<s.keys.length;i++){if(null==r)throw new Error(y('[sprintf] Cannot access property "%s" of undefined value "%s"',s.keys[i],s.keys[i-1]));r=r[s.keys[i]]}else r=s.param_no?t[s.param_no]:t[u++];if(g.not_type.test(s.type)&&g.not_primitive.test(s.type)&&r instanceof Function&&(r=r()),g.numeric_arg.test(s.type)&&"number"!=typeof r&&isNaN(r))throw new TypeError(y("[sprintf] expecting number but found %T",r));switch(g.number.test(s.type)&&(c=0<=r),s.type){case"b":r=parseInt(r,10).toString(2);break;case"c":r=String.fromCharCode(parseInt(r,10));break;case"d":case"i":r=parseInt(r,10);break;case"j":r=JSON.stringify(r,null,s.width?parseInt(s.width):0);break;case"e":r=s.precision?parseFloat(r).toExponential(s.precision):parseFloat(r).toExponential();break;case"f":r=s.precision?parseFloat(r).toFixed(s.precision):parseFloat(r);break;case"g":r=s.precision?String(Number(r.toPrecision(s.precision))):parseFloat(r);break;case"o":r=(parseInt(r,10)>>>0).toString(8);break;case"s":r=String(r),r=s.precision?r.substring(0,s.precision):r;break;case"t":r=String(!!r),r=s.precision?r.substring(0,s.precision):r;break;case"T":r=Object.prototype.toString.call(r).slice(8,-1).toLowerCase(),r=s.precision?r.substring(0,s.precision):r;break;case"u":r=parseInt(r,10)>>>0;break;case"v":r=r.valueOf(),r=s.precision?r.substring(0,s.precision):r;break;case"x":r=(parseInt(r,10)>>>0).toString(16);break;case"X":r=(parseInt(r,10)>>>0).toString(16).toUpperCase()}g.json.test(s.type)?d+=r:(!g.number.test(s.type)||c&&!s.sign?l="":(l=c?"+":"-",r=r.toString().replace(g.sign,"")),o=s.pad_char?"0"===s.pad_char?"0":s.pad_char.charAt(1):" ",p=s.width-(l+r).length,a=s.width&&0<p?o.repeat(p):"",d+=s.align?l+r+a:"0"===o?l+a+r:a+l+r)}return d}(function(e){if(p[e])return p[e];var t,r=e,n=[],i=0;for(;r;){if(null!==(t=g.text.exec(r)))n.push(t[0]);else if(null!==(t=g.modulo.exec(r)))n.push("%");else{if(null===(t=g.placeholder.exec(r)))throw new SyntaxError("[sprintf] unexpected placeholder");if(t[2]){i|=1;var s=[],a=t[2],o=[];if(null===(o=g.key.exec(a)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(s.push(o[1]);""!==(a=a.substring(o[0].length));)if(null!==(o=g.key_access.exec(a)))s.push(o[1]);else{if(null===(o=g.index_access.exec(a)))throw new SyntaxError("[sprintf] failed to parse named argument key");s.push(o[1])}t[2]=s}else i|=2;if(3===i)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");n.push({placeholder:t[0],param_no:t[1],keys:t[2],sign:t[3],pad_char:t[4],align:t[5],width:t[6],precision:t[7],type:t[8]})}r=r.substring(t[0].length)}return p[e]=n}(e),arguments)}function e(e,t){return y.apply(null,[e].concat(t||[]))}var p=Object.create(null);"undefined"!=typeof exports&&(exports.sprintf=y,exports.vsprintf=e),"undefined"!=typeof window&&(window.sprintf=y,window.vsprintf=e,"function"==typeof define&&define.amd&&define(function(){return{sprintf:y,vsprintf:e}}))}();
99
//# sourceMappingURL=sprintf.min.js.map
1010

11+
!function(t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).basicContext=t()}(function(){return function o(i,c,l){function r(n,t){if(!c[n]){if(!i[n]){var e="function"==typeof require&&require;if(!t&&e)return e(n,!0);if(a)return a(n,!0);throw(t=new Error("Cannot find module '"+n+"'")).code="MODULE_NOT_FOUND",t}e=c[n]={exports:{}},i[n][0].call(e.exports,function(t){return r(i[n][1][t]||t)},e,e.exports,o,i,c,l)}return c[n].exports}for(var a="function"==typeof require&&require,t=0;t<l.length;t++)r(l[t]);return r}({1:[function(t,n,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.visible=e.show=e.close=e.SEPARATOR=e.ITEM=void 0;function y(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};return null!=t.fn&&(!1!==t.visible&&(!0!==t.disabled&&(b("td[data-num='".concat(t.num,"']")).onclick=t.fn,b("td[data-num='".concat(t.num,"']")).oncontextmenu=t.fn,!0)))}function o(){var t=b();return!(null==t||0===t.length)}var i="item",c=(e.ITEM=i,"separator"),b=(e.SEPARATOR=c,function(){return document.querySelector(".basicContext "+(0<arguments.length&&void 0!==arguments[0]?arguments[0]:""))}),x=function(t,n){var e="",o="";return!1===function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};return!0==(0===Object.keys(t).length)&&(t.type=c),null==t.type&&(t.type=i),null==t.class&&(t.class=""),!1!==t.visible&&(t.visible=!0),null==t.icon&&(t.icon=null),null==t.title&&(t.title="Undefined"),!0!==t.disabled&&(t.disabled=!1),!0===t.disabled&&(t.class+=" basicContext__item--disabled"),null!=t.fn||t.type===c||!1!==t.disabled||(console.warn("Missing fn for item '".concat(t.title,"'")),!1)}(t)||!1===t.visible?"":(t.num=n,null!==t.icon&&(o="<span class='basicContext__icon ".concat(t.icon,"'></span>")),t.type===i?e="\n\t\t\t\t <tr class='basicContext__item ".concat(t.class,"'>\n\t\t\t\t\t\t <td class='basicContext__data' data-num='").concat(t.num,"'>").concat(o).concat(t.title,"</td>\n\t\t\t\t </tr>\n\t\t\t\t "):t.type===c&&(e="\n\t\t\t\t <tr class='basicContext__item basicContext__item--separator'></tr>\n\t\t\t\t "),e)},v=function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},n={x:t.clientX,y:t.clientY};return"touchend"!==t.type||null!=n.x&&null!=n.y||null!=(t=t.changedTouches)&&0<t.length&&(n.x=t[0].clientX,n.y=t[0].clientY),(null==n.x||n.x<0)&&(n.x=0),(null==n.y||n.y<0)&&(n.y=0),n},m=(e.show=function(t,n,e,o){i="",i+="\n\t\t\t\t<div class='basicContextContainer'>\n\t\t\t\t\t\t<div class='basicContext'>\n\t\t\t\t\t\t\t\t<table>\n\t\t\t\t\t\t\t\t\t\t<tbody>\n\t\t\t\t",t.forEach(function(t,n){return i+=x(t,n)});var i,c,l,r,a,s,u,f,d=i+="\n\t\t\t\t\t\t\t\t\t\t</tbody>\n\t\t\t\t\t\t\t\t</table>\n\t\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t",d=(document.body.insertAdjacentHTML("beforeend",d),b()),p=(l=d,c=v(c=n),r=c.x,a=c.y,s=document.querySelector(".basicContextContainer"),p=s.offsetWidth,s=s.offsetHeight,u=l.offsetWidth,f=l.offsetHeight,p<r+u&&(r-=r+u-p),s<a+f&&(a-=a+f-s),s<f&&(a=0,l.classList.add("basicContext--scrollable")),u=c.x-r,{x:r,y:a,rx:u,ry:c.y-a});return d.style.left="".concat(p.x,"px"),d.style.top="".concat(p.y,"px"),d.style.transformOrigin="".concat(p.rx,"px ").concat(p.ry,"px"),d.style.opacity=1,d.parentElement.onclick=e=null==e?m:e,d.parentElement.oncontextmenu=e,t.forEach(y),"function"==typeof n.preventDefault&&n.preventDefault(),"function"==typeof n.stopPropagation&&n.stopPropagation(),"function"==typeof o&&o(),!0},e.visible=o,function(){var t;return!1!==o()&&((t=document.querySelector(".basicContextContainer")).parentElement.removeChild(t),!0)});e.close=m},{}]},{},[1])(1)});
1112
"use strict";
1213

13-
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
14-
1514
var _templateObject = _taggedTemplateLiteral(["<svg class='iconic ", "'><use xlink:href='#", "' /></svg>"], ["<svg class='iconic ", "'><use xlink:href='#", "' /></svg>"]),
1615
_templateObject2 = _taggedTemplateLiteral(["<div class='divider'><h1>$", "</h1></div>"], ["<div class='divider'><h1>$", "</h1></div>"]),
1716
_templateObject3 = _taggedTemplateLiteral(["<div id='", "' class='edit'>", "</div>"], ["<div id='", "' class='edit'>", "</div>"]),
@@ -246,7 +245,7 @@ csrf.getCSRFCookieValue = function () {
246245
// When we send back the value to the server as part of an AJAX request,
247246
// Laravel expects an unpadded value.
248247
// Hence, we must remove the `%3D`.
249-
return cookie ? cookie.split("=")[1].trim().replaceAll("%3D", "") : null;
248+
return cookie ? cookie.split("=")[1].trim().replace(/%3D/g, "") : null;
250249
};
251250

252251
/**
@@ -1733,7 +1732,9 @@ sidebar.toggle = function (is_user_initiated) {
17331732
header.dom(".button--info").toggleClass("active");
17341733
lychee.content.toggleClass("content--sidebar");
17351734
lychee.imageview.toggleClass("image--sidebar");
1736-
if (typeof view !== "undefined") view.album.content.justify(album.json ? album.json.photos : []);
1735+
setTimeout(function () {
1736+
return view.album.content.justify();
1737+
}, 0);
17371738
sidebar.dom().toggleClass("active");
17381739
if (photo.updateSizeLivePhotoDuringAnimation) photo.updateSizeLivePhotoDuringAnimation();
17391740

@@ -3754,230 +3755,4 @@ var SmartAlbumID = Object.freeze({
37543755
* @property {number} severity - either `'debug'`, `'info'`, `'notice'`, `'warning'`, `'error'`, `'critical'` or `'emergency'`
37553756
* @property {?string} path - the path to the affected file or directory
37563757
* @property {string} message - a message text
3757-
*/
3758-
3759-
(function (window, factory) {
3760-
var basicContext = factory(window, window.document);
3761-
window.basicContext = basicContext;
3762-
if ((typeof module === "undefined" ? "undefined" : _typeof(module)) == "object" && module.exports) {
3763-
module.exports = basicContext;
3764-
}
3765-
})(window, function l(window, document) {
3766-
var ITEM = "item",
3767-
SEPARATOR = "separator";
3768-
3769-
var dom = function dom() {
3770-
var elem = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
3771-
3772-
return document.querySelector(".basicContext " + elem);
3773-
};
3774-
3775-
var valid = function valid() {
3776-
var item = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
3777-
3778-
var emptyItem = Object.keys(item).length === 0 ? true : false;
3779-
3780-
if (emptyItem === true) item.type = SEPARATOR;
3781-
if (item.type == null) item.type = ITEM;
3782-
if (item.class == null) item.class = "";
3783-
if (item.visible !== false) item.visible = true;
3784-
if (item.icon == null) item.icon = null;
3785-
if (item.title == null) item.title = "Undefined";
3786-
3787-
// Add disabled class when item disabled
3788-
if (item.disabled !== true) item.disabled = false;
3789-
if (item.disabled === true) item.class += " basicContext__item--disabled";
3790-
3791-
// Item requires a function when
3792-
// it's not a separator and not disabled
3793-
if (item.fn == null && item.type !== SEPARATOR && item.disabled === false) {
3794-
console.warn("Missing fn for item '" + item.title + "'");
3795-
return false;
3796-
}
3797-
3798-
return true;
3799-
};
3800-
3801-
var buildItem = function buildItem(item, num) {
3802-
var html = "",
3803-
span = "";
3804-
3805-
// Parse and validate item
3806-
if (valid(item) === false) return "";
3807-
3808-
// Skip when invisible
3809-
if (item.visible === false) return "";
3810-
3811-
// Give item a unique number
3812-
item.num = num;
3813-
3814-
// Generate span/icon-element
3815-
if (item.icon !== null) span = "<span class='basicContext__icon " + item.icon + "'></span>";
3816-
3817-
// Generate item
3818-
if (item.type === ITEM) {
3819-
html = "\n\t\t <tr class='basicContext__item " + item.class + "'>\n\t\t <td class='basicContext__data' data-num='" + item.num + "'>" + span + item.title + "</td>\n\t\t </tr>\n\t\t ";
3820-
} else if (item.type === SEPARATOR) {
3821-
html = "\n\t\t <tr class='basicContext__item basicContext__item--separator'></tr>\n\t\t ";
3822-
}
3823-
3824-
return html;
3825-
};
3826-
3827-
var build = function build(items) {
3828-
var html = "";
3829-
3830-
html += "\n\t <div class='basicContextContainer'>\n\t <div class='basicContext'>\n\t <table>\n\t <tbody>\n\t ";
3831-
3832-
items.forEach(function (item, i) {
3833-
return html += buildItem(item, i);
3834-
});
3835-
3836-
html += "\n\t </tbody>\n\t </table>\n\t </div>\n\t </div>\n\t ";
3837-
3838-
return html;
3839-
};
3840-
3841-
var getNormalizedEvent = function getNormalizedEvent() {
3842-
var e = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
3843-
3844-
var pos = {
3845-
x: e.clientX,
3846-
y: e.clientY
3847-
};
3848-
3849-
if (e.type === "touchend" && (pos.x == null || pos.y == null)) {
3850-
// We need to capture clientX and clientY from original event
3851-
// when the event 'touchend' does not return the touch position
3852-
3853-
var touches = e.changedTouches;
3854-
3855-
if (touches != null && touches.length > 0) {
3856-
pos.x = touches[0].clientX;
3857-
pos.y = touches[0].clientY;
3858-
}
3859-
}
3860-
3861-
// Position unknown
3862-
if (pos.x == null || pos.x < 0) pos.x = 0;
3863-
if (pos.y == null || pos.y < 0) pos.y = 0;
3864-
3865-
return pos;
3866-
};
3867-
3868-
var getPosition = function getPosition(e, context) {
3869-
// Get the click position
3870-
var normalizedEvent = getNormalizedEvent(e);
3871-
3872-
// Set the initial position
3873-
var x = normalizedEvent.x,
3874-
y = normalizedEvent.y;
3875-
3876-
var container = document.querySelector(".basicContextContainer");
3877-
3878-
// Get size of browser
3879-
var browserSize = {
3880-
width: container.offsetWidth,
3881-
height: container.offsetHeight
3882-
};
3883-
3884-
// Get size of context
3885-
var contextSize = {
3886-
width: context.offsetWidth,
3887-
height: context.offsetHeight
3888-
};
3889-
3890-
// Fix position based on context and browser size
3891-
if (x + contextSize.width > browserSize.width) x = x - (x + contextSize.width - browserSize.width);
3892-
if (y + contextSize.height > browserSize.height) y = y - (y + contextSize.height - browserSize.height);
3893-
3894-
// Make context scrollable and start at the top of the browser
3895-
// when context is higher than the browser
3896-
if (contextSize.height > browserSize.height) {
3897-
y = 0;
3898-
context.classList.add("basicContext--scrollable");
3899-
}
3900-
3901-
// Calculate the relative position of the mouse to the context
3902-
var rx = normalizedEvent.x - x,
3903-
ry = normalizedEvent.y - y;
3904-
3905-
return { x: x, y: y, rx: rx, ry: ry };
3906-
};
3907-
3908-
var bind = function bind() {
3909-
var item = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
3910-
3911-
if (item.fn == null) return false;
3912-
if (item.visible === false) return false;
3913-
if (item.disabled === true) return false;
3914-
3915-
dom("td[data-num='" + item.num + "']").onclick = item.fn;
3916-
dom("td[data-num='" + item.num + "']").oncontextmenu = item.fn;
3917-
3918-
return true;
3919-
};
3920-
3921-
var show = function show(items, e, fnClose, fnCallback) {
3922-
// Build context
3923-
var html = build(items);
3924-
3925-
// Add context to the body
3926-
document.body.insertAdjacentHTML("beforeend", html);
3927-
3928-
// Cache the context
3929-
var context = dom();
3930-
3931-
// Calculate position
3932-
var position = getPosition(e, context);
3933-
3934-
// Set position
3935-
context.style.left = position.x + "px";
3936-
context.style.top = position.y + "px";
3937-
context.style.transformOrigin = position.rx + "px " + position.ry + "px";
3938-
context.style.opacity = 1;
3939-
3940-
// Close fn fallback
3941-
if (fnClose == null) fnClose = close;
3942-
3943-
// Bind click on background
3944-
context.parentElement.onclick = fnClose;
3945-
context.parentElement.oncontextmenu = fnClose;
3946-
3947-
// Bind click on items
3948-
items.forEach(bind);
3949-
3950-
// Do not trigger default event or further propagation
3951-
if (typeof e.preventDefault === "function") e.preventDefault();
3952-
if (typeof e.stopPropagation === "function") e.stopPropagation();
3953-
3954-
// Call callback when a function
3955-
if (typeof fnCallback === "function") fnCallback();
3956-
3957-
return true;
3958-
};
3959-
3960-
var visible = function visible() {
3961-
var elem = dom();
3962-
3963-
return !(elem == null || elem.length === 0);
3964-
};
3965-
3966-
var close = function close() {
3967-
if (visible() === false) return false;
3968-
3969-
var container = document.querySelector(".basicContextContainer");
3970-
3971-
container.parentElement.removeChild(container);
3972-
3973-
return true;
3974-
};
3975-
3976-
return {
3977-
ITEM: ITEM,
3978-
SEPARATOR: SEPARATOR,
3979-
show: show,
3980-
visible: visible,
3981-
close: close
3982-
};
3983-
});
3758+
*/

version.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
4.6.1
1+
4.6.2

0 commit comments

Comments
 (0)