From 05c6254fdc223ab1e42bbcdc000e03896310b108 Mon Sep 17 00:00:00 2001 From: snipe Date: Tue, 9 Nov 2021 22:39:33 -0800 Subject: [PATCH] Updated snipeit.js with "restore" modal code Signed-off-by: snipe --- package-lock.json | 2 +- public/css/build/overrides.css | 1 - public/css/dist/all.css | 1 + public/js/build/app.js | 43 ++++++++++++++++++++++++++++++---- public/js/dist/all.js | 43 ++++++++++++++++++++++++++++++---- public/js/snipeit.js | 30 ++++++++++++++++++++++++ public/mix-manifest.json | 4 ++-- resources/assets/js/snipeit.js | 32 +++++++++++++++++++++++++ 8 files changed, 144 insertions(+), 12 deletions(-) diff --git a/package-lock.json b/package-lock.json index 463ca7dc3..05d2f032f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15845,7 +15845,7 @@ "jquery": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.0.tgz", - "integrity": "sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw==" + "integrity": "sha1-xyoJ8Vwb3OFC9J2/EXC9+K2sJHA=" }, "jquery-form-validator": { "version": "2.3.79", diff --git a/public/css/build/overrides.css b/public/css/build/overrides.css index 2ce2c2327..c676b59b6 100644 --- a/public/css/build/overrides.css +++ b/public/css/build/overrides.css @@ -554,7 +554,6 @@ th.css-accessory > .th-inner::before { .form-group.has-error label { color: #a94442; } - .select2-container--default .select2-selection--multiple { border-radius: 0px; } diff --git a/public/css/dist/all.css b/public/css/dist/all.css index d0ae4b8a2..269ae29c6 100644 --- a/public/css/dist/all.css +++ b/public/css/dist/all.css @@ -20465,6 +20465,7 @@ th.css-accessory > .th-inner::before { border-radius: 0px; } + .select2-container { box-sizing: border-box; display: inline-block; diff --git a/public/js/build/app.js b/public/js/build/app.js index 041da5eee..4bb786901 100644 --- a/public/js/build/app.js +++ b/public/js/build/app.js @@ -1695,7 +1695,36 @@ var baseUrl = $('meta[name="baseUrl"]').attr('content'); (function ($, settings) { var Components = {}; - Components.modals = {}; // confirm delete modal + Components.modals = {}; // confirm restore modal + + Components.modals.confirmRestore = function () { + var $el = $('table'); + var events = { + 'click': function click(evnt) { + var $context = $(this); + var $restoreConfirmModal = $('#restoreConfirmModal'); + var href = $context.attr('href'); + var message = $context.attr('data-content'); + var title = $context.attr('data-title'); + $('#restoreConfirmModalLabel').text(title); + $restoreConfirmModal.find('.modal-body').text(message); + $('#restoreForm').attr('action', href); + $restoreConfirmModal.modal({ + show: true + }); + return false; + } + }; + + var render = function render() { + $el.on('click', '.restore-asset', events['click']); + }; + + return { + render: render + }; + }; // confirm delete modal + Components.modals.confirmDelete = function () { var $el = $('table'); @@ -1731,6 +1760,7 @@ var baseUrl = $('meta[name="baseUrl"]').attr('content'); $(function () { + new Components.modals.confirmRestore().render(); new Components.modals.confirmDelete().render(); }); })(jQuery, window.snipeit.settings); @@ -1886,10 +1916,10 @@ $(document).ready(function () { return x !== 0; }); // makes sure we're not selecting the same thing twice for multiples - var filteredResponse = response.items.filter(function (item) { + var filteredResponse = response.results.filter(function (item) { return currentlySelected.indexOf(+item.id) < 0; }); - var first = currentlySelected.length > 0 ? filteredResponse[0] : response.items[0]; + var first = currentlySelected.length > 0 ? filteredResponse[0] : response.results[0]; if (first && first.id) { first.selected = true; @@ -2095,7 +2125,7 @@ $(document).ready(function () { for (var i = 0; i < this.files.length; i++) { total_size += this.files[i].size; - $(id + '-info').append('' + this.files[i].name + ' (' + formatBytes(this.files[i].size) + ') '); + $(id + '-info').append('' + htmlEntities(this.files[i].name) + ' (' + formatBytes(this.files[i].size) + ') '); } console.log('Max size is: ' + max_size); @@ -2111,10 +2141,15 @@ $(document).ready(function () { } }); }); + +function htmlEntities(str) { + return String(str).replace(/&/g, '&').replace(//g, '>').replace(/"/g, '"'); +} /** * Toggle disabled */ + (function ($) { $.fn.toggleDisabled = function (callback) { return this.each(function () { diff --git a/public/js/dist/all.js b/public/js/dist/all.js index f22f12b48..35aa39b9d 100644 --- a/public/js/dist/all.js +++ b/public/js/dist/all.js @@ -60833,7 +60833,36 @@ var baseUrl = $('meta[name="baseUrl"]').attr('content'); (function ($, settings) { var Components = {}; - Components.modals = {}; // confirm delete modal + Components.modals = {}; // confirm restore modal + + Components.modals.confirmRestore = function () { + var $el = $('table'); + var events = { + 'click': function click(evnt) { + var $context = $(this); + var $restoreConfirmModal = $('#restoreConfirmModal'); + var href = $context.attr('href'); + var message = $context.attr('data-content'); + var title = $context.attr('data-title'); + $('#restoreConfirmModalLabel').text(title); + $restoreConfirmModal.find('.modal-body').text(message); + $('#restoreForm').attr('action', href); + $restoreConfirmModal.modal({ + show: true + }); + return false; + } + }; + + var render = function render() { + $el.on('click', '.restore-asset', events['click']); + }; + + return { + render: render + }; + }; // confirm delete modal + Components.modals.confirmDelete = function () { var $el = $('table'); @@ -60869,6 +60898,7 @@ var baseUrl = $('meta[name="baseUrl"]').attr('content'); $(function () { + new Components.modals.confirmRestore().render(); new Components.modals.confirmDelete().render(); }); })(jQuery, window.snipeit.settings); @@ -61024,10 +61054,10 @@ $(document).ready(function () { return x !== 0; }); // makes sure we're not selecting the same thing twice for multiples - var filteredResponse = response.items.filter(function (item) { + var filteredResponse = response.results.filter(function (item) { return currentlySelected.indexOf(+item.id) < 0; }); - var first = currentlySelected.length > 0 ? filteredResponse[0] : response.items[0]; + var first = currentlySelected.length > 0 ? filteredResponse[0] : response.results[0]; if (first && first.id) { first.selected = true; @@ -61233,7 +61263,7 @@ $(document).ready(function () { for (var i = 0; i < this.files.length; i++) { total_size += this.files[i].size; - $(id + '-info').append('' + this.files[i].name + ' (' + formatBytes(this.files[i].size) + ') '); + $(id + '-info').append('' + htmlEntities(this.files[i].name) + ' (' + formatBytes(this.files[i].size) + ') '); } console.log('Max size is: ' + max_size); @@ -61249,10 +61279,15 @@ $(document).ready(function () { } }); }); + +function htmlEntities(str) { + return String(str).replace(/&/g, '&').replace(//g, '>').replace(/"/g, '"'); +} /** * Toggle disabled */ + (function ($) { $.fn.toggleDisabled = function (callback) { return this.each(function () { diff --git a/public/js/snipeit.js b/public/js/snipeit.js index cfa646d9e..81c79c884 100644 --- a/public/js/snipeit.js +++ b/public/js/snipeit.js @@ -172,6 +172,36 @@ pieOptions = { $el.on('click', '.delete-asset', events['click']); }; + return { + render: render + }; + + // confirm restore modal + Components.modals.confirmRestore = function () { + var $el = $('table'); + + var events = { + 'click': function click(evnt) { + var $context = $(this); + var $dataConfirmModal = $('#restoreConfirmModal'); + var href = $context.attr('href'); + var message = $context.attr('data-content'); + var title = $context.attr('data-title'); + + $('#myModalLabel').text(title); + $dataConfirmModal.find('.modal-body').text(message); + $('#confirmRestoreForm').attr('action', href); + $dataConfirmModal.modal({ + show: true + }); + return false; + } + }; + + var render = function render() { + $el.on('click', '.restore-modal', events['click']); + }; + return { render: render }; diff --git a/public/mix-manifest.json b/public/mix-manifest.json index cd55b16f0..8c393d17f 100644 --- a/public/mix-manifest.json +++ b/public/mix-manifest.json @@ -1,5 +1,5 @@ { - "/js/build/app.js": "/js/build/app.js?id=c8a70594c0d99275266d", + "/js/build/app.js": "/js/build/app.js?id=202aad1c623e7f3c560c", "/css/dist/skins/skin-blue.css": "/css/dist/skins/skin-blue.css?id=83e39e254b7f9035eddc", "/css/build/overrides.css": "/css/build/overrides.css?id=b1866ec98d44c0a8ceea", "/css/build/app.css": "/css/build/app.css?id=61d5535cb27cce41d422", @@ -26,7 +26,7 @@ "/css/dist/bootstrap-table.css": "/css/dist/bootstrap-table.css?id=93c24b4c89490bbfd73e", "/js/build/vendor.js": "/js/build/vendor.js?id=651427cc4b45d8e68d0c", "/js/dist/bootstrap-table.js": "/js/dist/bootstrap-table.js?id=867755a1544f6c0ea828", - "/js/dist/all.js": "/js/dist/all.js?id=a233dcde4650f5d34491", + "/js/dist/all.js": "/js/dist/all.js?id=78b490e0623f67ef071d", "/css/dist/skins/skin-green.min.css": "/css/dist/skins/skin-green.min.css?id=efda2335fa5243175850", "/css/dist/skins/skin-green-dark.min.css": "/css/dist/skins/skin-green-dark.min.css?id=6e35fb4cb2f1063b3047", "/css/dist/skins/skin-black.min.css": "/css/dist/skins/skin-black.min.css?id=ec96c42439cdeb022133", diff --git a/resources/assets/js/snipeit.js b/resources/assets/js/snipeit.js index c74340b10..f55d16a87 100755 --- a/resources/assets/js/snipeit.js +++ b/resources/assets/js/snipeit.js @@ -84,6 +84,37 @@ var baseUrl = $('meta[name="baseUrl"]').attr('content'); var Components = {}; Components.modals = {}; + // confirm restore modal + Components.modals.confirmRestore = function() { + var $el = $('table'); + + var events = { + 'click': function(evnt) { + var $context = $(this); + var $restoreConfirmModal = $('#restoreConfirmModal'); + var href = $context.attr('href'); + var message = $context.attr('data-content'); + var title = $context.attr('data-title'); + + $('#restoreConfirmModalLabel').text(title); + $restoreConfirmModal.find('.modal-body').text(message); + $('#restoreForm').attr('action', href); + $restoreConfirmModal.modal({ + show: true + }); + return false; + } + }; + + var render = function() { + $el.on('click', '.restore-asset', events['click']); + }; + + return { + render: render + }; + }; + // confirm delete modal Components.modals.confirmDelete = function() { var $el = $('table'); @@ -121,6 +152,7 @@ var baseUrl = $('meta[name="baseUrl"]').attr('content'); * Component definition stays out of load event, execution only happens. */ $(function() { + new Components.modals.confirmRestore().render(); new Components.modals.confirmDelete().render(); }); }(jQuery, window.snipeit.settings));