mirror of
https://github.com/snipe/snipe-it.git
synced 2024-12-25 21:54:14 -08:00
Fixed: Tooltips (#6309)
* Fixed missing oauth tables during setup. * Fixed missing tooltips Updated spelling in bootstrap-table.blade.php to use bootstrap data element. Using custom jquery-ui without tooltips to fix conflict issue. * Removed custom jQuery ui file added fix in bootstrap.js file
This commit is contained in:
parent
6818901f7d
commit
d715ecf41d
BIN
public/js/app.js
BIN
public/js/app.js
Binary file not shown.
BIN
public/js/dist/bootstrap-table.js
vendored
BIN
public/js/dist/bootstrap-table.js
vendored
Binary file not shown.
Binary file not shown.
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"/js/app.js": "/js/app.js?id=818d31d3716495504611",
|
"/js/app.js": "/js/app.js?id=682fc1cd790bc8dc8e58",
|
||||||
"/css/build/AdminLTE.css": "/css/build/AdminLTE.css?id=f7a5d783fef321018f4c",
|
"/css/build/AdminLTE.css": "/css/build/AdminLTE.css?id=f7a5d783fef321018f4c",
|
||||||
"/css/build/app.css": "/css/build/app.css?id=0dfc05b0fe1dcc9b6e3d",
|
"/css/build/app.css": "/css/build/app.css?id=0dfc05b0fe1dcc9b6e3d",
|
||||||
"/css/all.css": "/css/all.css?id=9399418f7ce5805e3571",
|
"/css/all.css": "/css/all.css?id=9399418f7ce5805e3571",
|
||||||
|
@ -8,10 +8,10 @@
|
||||||
"/css/skins/skin-red-dark.min.css": "/css/skins/skin-red-dark.min.css?id=99f90bbd653d7db10795",
|
"/css/skins/skin-red-dark.min.css": "/css/skins/skin-red-dark.min.css?id=99f90bbd653d7db10795",
|
||||||
"/css/signature-pad.css": "/css/signature-pad.css?id=6a89d3cd901305e66ced",
|
"/css/signature-pad.css": "/css/signature-pad.css?id=6a89d3cd901305e66ced",
|
||||||
"/css/signature-pad.min.css": "/css/signature-pad.min.css?id=6a89d3cd901305e66ced",
|
"/css/signature-pad.min.css": "/css/signature-pad.min.css?id=6a89d3cd901305e66ced",
|
||||||
"/js/vendor.js": "/js/vendor.js?id=c8bc37fd1a8b2d7aea69",
|
"/js/vendor.js": "/js/vendor.js?id=c856c3b90be192ac37c4",
|
||||||
"/js/html5shiv.min.js": "/js/html5shiv.min.js?id=ba846cb704dbfbc5f1b3",
|
"/js/html5shiv.min.js": "/js/html5shiv.min.js?id=ba846cb704dbfbc5f1b3",
|
||||||
"/js/respond.min.js": "/js/respond.min.js?id=afc1984a3d17110449dc",
|
"/js/respond.min.js": "/js/respond.min.js?id=afc1984a3d17110449dc",
|
||||||
"/js/dist/bootstrap-table.js": "/js/dist/bootstrap-table.js?id=7223478ba9bf2c6dfb4f",
|
"/js/dist/bootstrap-table.js": "/js/dist/bootstrap-table.js?id=6804bda467f56a251e32",
|
||||||
"/js/dist/bootstrap-table-simple-view.js": "/js/dist/bootstrap-table-simple-view.js?id=3926b8f4aaad6ca20d31",
|
"/js/dist/bootstrap-table-simple-view.js": "/js/dist/bootstrap-table-simple-view.js?id=3926b8f4aaad6ca20d31",
|
||||||
"/css/dist/bootstrap-table.css": "/css/dist/bootstrap-table.css?id=8340c60bfbc12c34d2e6"
|
"/css/dist/bootstrap-table.css": "/css/dist/bootstrap-table.css?id=8340c60bfbc12c34d2e6"
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,696 +0,0 @@
|
||||||
/*! AdminLTE app.js
|
|
||||||
* ================
|
|
||||||
* Main JS application file for AdminLTE v2. This file
|
|
||||||
* should be included in all pages. It controls some layout
|
|
||||||
* options and implements exclusive AdminLTE plugins.
|
|
||||||
*
|
|
||||||
* @Author Almsaeed Studio
|
|
||||||
* @Support <http://www.almsaeedstudio.com>
|
|
||||||
* @Email <support@almsaeedstudio.com>
|
|
||||||
* @version 2.3.0
|
|
||||||
* @license MIT <http://opensource.org/licenses/MIT>
|
|
||||||
*/
|
|
||||||
|
|
||||||
//Make sure jQuery has been loaded before app.js
|
|
||||||
if (typeof jQuery === "undefined") {
|
|
||||||
throw new Error("AdminLTE requires jQuery");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* AdminLTE
|
|
||||||
*
|
|
||||||
* @type Object
|
|
||||||
* @description $.AdminLTE is the main object for the template's app.
|
|
||||||
* It's used for implementing functions and options related
|
|
||||||
* to the template. Keeping everything wrapped in an object
|
|
||||||
* prevents conflict with other plugins and is a better
|
|
||||||
* way to organize our code.
|
|
||||||
*/
|
|
||||||
$.AdminLTE = {};
|
|
||||||
|
|
||||||
/* --------------------
|
|
||||||
* - AdminLTE Options -
|
|
||||||
* --------------------
|
|
||||||
* Modify these options to suit your implementation
|
|
||||||
*/
|
|
||||||
$.AdminLTE.options = {
|
|
||||||
//Add slimscroll to navbar menus
|
|
||||||
//This requires you to load the slimscroll plugin
|
|
||||||
//in every page before app.js
|
|
||||||
navbarMenuSlimscroll: true,
|
|
||||||
navbarMenuSlimscrollWidth: "3px", //The width of the scroll bar
|
|
||||||
navbarMenuHeight: "200px", //The height of the inner menu
|
|
||||||
//General animation speed for JS animated elements such as box collapse/expand and
|
|
||||||
//sidebar treeview slide up/down. This options accepts an integer as milliseconds,
|
|
||||||
//'fast', 'normal', or 'slow'
|
|
||||||
animationSpeed: 500,
|
|
||||||
//Sidebar push menu toggle button selector
|
|
||||||
sidebarToggleSelector: "[data-toggle='offcanvas']",
|
|
||||||
//Activate sidebar push menu
|
|
||||||
sidebarPushMenu: true,
|
|
||||||
//Activate sidebar slimscroll if the fixed layout is set (requires SlimScroll Plugin)
|
|
||||||
sidebarSlimScroll: true,
|
|
||||||
//Enable sidebar expand on hover effect for sidebar mini
|
|
||||||
//This option is forced to true if both the fixed layout and sidebar mini
|
|
||||||
//are used together
|
|
||||||
sidebarExpandOnHover: false,
|
|
||||||
//BoxRefresh Plugin
|
|
||||||
enableBoxRefresh: true,
|
|
||||||
//Bootstrap.js tooltip
|
|
||||||
enableBSToppltip: true,
|
|
||||||
BSTooltipSelector: "[data-toggle='tooltip']",
|
|
||||||
//Enable Fast Click. Fastclick.js creates a more
|
|
||||||
//native touch experience with touch devices. If you
|
|
||||||
//choose to enable the plugin, make sure you load the script
|
|
||||||
//before AdminLTE's app.js
|
|
||||||
enableFastclick: false,
|
|
||||||
//Control Sidebar Options
|
|
||||||
enableControlSidebar: true,
|
|
||||||
controlSidebarOptions: {
|
|
||||||
//Which button should trigger the open/close event
|
|
||||||
toggleBtnSelector: "[data-toggle='control-sidebar']",
|
|
||||||
//The sidebar selector
|
|
||||||
selector: ".control-sidebar",
|
|
||||||
//Enable slide over content
|
|
||||||
slide: true
|
|
||||||
},
|
|
||||||
//Box Widget Plugin. Enable this plugin
|
|
||||||
//to allow boxes to be collapsed and/or removed
|
|
||||||
enableBoxWidget: true,
|
|
||||||
//Box Widget plugin options
|
|
||||||
boxWidgetOptions: {
|
|
||||||
boxWidgetIcons: {
|
|
||||||
//Collapse icon
|
|
||||||
collapse: 'fa-minus',
|
|
||||||
//Open icon
|
|
||||||
open: 'fa-plus',
|
|
||||||
//Remove icon
|
|
||||||
remove: 'fa-times'
|
|
||||||
},
|
|
||||||
boxWidgetSelectors: {
|
|
||||||
//Remove button selector
|
|
||||||
remove: '[data-widget="remove"]',
|
|
||||||
//Collapse button selector
|
|
||||||
collapse: '[data-widget="collapse"]'
|
|
||||||
}
|
|
||||||
},
|
|
||||||
//Direct Chat plugin options
|
|
||||||
directChat: {
|
|
||||||
//Enable direct chat by default
|
|
||||||
enable: true,
|
|
||||||
//The button to open and close the chat contacts pane
|
|
||||||
contactToggleSelector: '[data-widget="chat-pane-toggle"]'
|
|
||||||
},
|
|
||||||
//Define the set of colors to use globally around the website
|
|
||||||
colors: {
|
|
||||||
lightBlue: "#3c8dbc",
|
|
||||||
red: "#f56954",
|
|
||||||
green: "#00a65a",
|
|
||||||
aqua: "#00c0ef",
|
|
||||||
yellow: "#f39c12",
|
|
||||||
blue: "#0073b7",
|
|
||||||
navy: "#001F3F",
|
|
||||||
teal: "#39CCCC",
|
|
||||||
olive: "#3D9970",
|
|
||||||
lime: "#01FF70",
|
|
||||||
orange: "#FF851B",
|
|
||||||
fuchsia: "#F012BE",
|
|
||||||
purple: "#8E24AA",
|
|
||||||
maroon: "#D81B60",
|
|
||||||
black: "#222222",
|
|
||||||
gray: "#d2d6de"
|
|
||||||
},
|
|
||||||
//The standard screen sizes that bootstrap uses.
|
|
||||||
//If you change these in the variables.less file, change
|
|
||||||
//them here too.
|
|
||||||
screenSizes: {
|
|
||||||
xs: 480,
|
|
||||||
sm: 768,
|
|
||||||
md: 992,
|
|
||||||
lg: 1200
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
/* ------------------
|
|
||||||
* - Implementation -
|
|
||||||
* ------------------
|
|
||||||
* The next block of code implements AdminLTE's
|
|
||||||
* functions and plugins as specified by the
|
|
||||||
* options above.
|
|
||||||
*/
|
|
||||||
$(function () {
|
|
||||||
"use strict";
|
|
||||||
|
|
||||||
//Fix for IE page transitions
|
|
||||||
$("body").removeClass("hold-transition");
|
|
||||||
|
|
||||||
//Extend options if external options exist
|
|
||||||
if (typeof AdminLTEOptions !== "undefined") {
|
|
||||||
$.extend(true,
|
|
||||||
$.AdminLTE.options,
|
|
||||||
AdminLTEOptions);
|
|
||||||
}
|
|
||||||
|
|
||||||
//Easy access to options
|
|
||||||
var o = $.AdminLTE.options;
|
|
||||||
|
|
||||||
//Set up the object
|
|
||||||
_init();
|
|
||||||
|
|
||||||
//Activate the layout maker
|
|
||||||
$.AdminLTE.layout.activate();
|
|
||||||
|
|
||||||
//Enable sidebar tree view controls
|
|
||||||
$.AdminLTE.tree('.sidebar');
|
|
||||||
|
|
||||||
//Enable control sidebar
|
|
||||||
if (o.enableControlSidebar) {
|
|
||||||
$.AdminLTE.controlSidebar.activate();
|
|
||||||
}
|
|
||||||
|
|
||||||
//Add slimscroll to navbar dropdown
|
|
||||||
if (o.navbarMenuSlimscroll && typeof $.fn.slimscroll != 'undefined') {
|
|
||||||
$(".navbar .menu").slimscroll({
|
|
||||||
height: o.navbarMenuHeight,
|
|
||||||
alwaysVisible: false,
|
|
||||||
size: o.navbarMenuSlimscrollWidth
|
|
||||||
}).css("width", "100%");
|
|
||||||
}
|
|
||||||
|
|
||||||
//Activate sidebar push menu
|
|
||||||
if (o.sidebarPushMenu) {
|
|
||||||
$.AdminLTE.pushMenu.activate(o.sidebarToggleSelector);
|
|
||||||
}
|
|
||||||
|
|
||||||
//Activate Bootstrap tooltip
|
|
||||||
if (o.enableBSToppltip) {
|
|
||||||
$.widget.bridge('uitooltip', $.ui.tooltip);
|
|
||||||
$('body').tooltip({
|
|
||||||
selector: o.BSTooltipSelector
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
//Activate box widget
|
|
||||||
if (o.enableBoxWidget) {
|
|
||||||
$.AdminLTE.boxWidget.activate();
|
|
||||||
}
|
|
||||||
|
|
||||||
//Activate fast click
|
|
||||||
if (o.enableFastclick && typeof FastClick != 'undefined') {
|
|
||||||
FastClick.attach(document.body);
|
|
||||||
}
|
|
||||||
|
|
||||||
//Activate direct chat widget
|
|
||||||
if (o.directChat.enable) {
|
|
||||||
$(document).on('click', o.directChat.contactToggleSelector, function () {
|
|
||||||
var box = $(this).parents('.direct-chat').first();
|
|
||||||
box.toggleClass('direct-chat-contacts-open');
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* INITIALIZE BUTTON TOGGLE
|
|
||||||
* ------------------------
|
|
||||||
*/
|
|
||||||
$('.btn-group[data-toggle="btn-toggle"]').each(function () {
|
|
||||||
var group = $(this);
|
|
||||||
$(this).find(".btn").on('click', function (e) {
|
|
||||||
group.find(".btn.active").removeClass("active");
|
|
||||||
$(this).addClass("active");
|
|
||||||
e.preventDefault();
|
|
||||||
});
|
|
||||||
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
/* ----------------------------------
|
|
||||||
* - Initialize the AdminLTE Object -
|
|
||||||
* ----------------------------------
|
|
||||||
* All AdminLTE functions are implemented below.
|
|
||||||
*/
|
|
||||||
function _init() {
|
|
||||||
'use strict';
|
|
||||||
/* Layout
|
|
||||||
* ======
|
|
||||||
* Fixes the layout height in case min-height fails.
|
|
||||||
*
|
|
||||||
* @type Object
|
|
||||||
* @usage $.AdminLTE.layout.activate()
|
|
||||||
* $.AdminLTE.layout.fix()
|
|
||||||
* $.AdminLTE.layout.fixSidebar()
|
|
||||||
*/
|
|
||||||
$.AdminLTE.layout = {
|
|
||||||
activate: function () {
|
|
||||||
var _this = this;
|
|
||||||
_this.fix();
|
|
||||||
_this.fixSidebar();
|
|
||||||
$(window, ".wrapper").resize(function () {
|
|
||||||
_this.fix();
|
|
||||||
_this.fixSidebar();
|
|
||||||
});
|
|
||||||
},
|
|
||||||
fix: function () {
|
|
||||||
//Get window height and the wrapper height
|
|
||||||
var neg = $('.main-header').outerHeight() + $('.main-footer').outerHeight();
|
|
||||||
var window_height = $(window).height();
|
|
||||||
var sidebar_height = $(".sidebar").height();
|
|
||||||
//Set the min-height of the content and sidebar based on the
|
|
||||||
//the height of the document.
|
|
||||||
if ($("body").hasClass("fixed")) {
|
|
||||||
$(".content-wrapper, .right-side").css('min-height', window_height - $('.main-footer').outerHeight());
|
|
||||||
} else {
|
|
||||||
var postSetWidth;
|
|
||||||
if (window_height >= sidebar_height) {
|
|
||||||
$(".content-wrapper, .right-side").css('min-height', window_height - neg);
|
|
||||||
postSetWidth = window_height - neg;
|
|
||||||
} else {
|
|
||||||
$(".content-wrapper, .right-side").css('min-height', sidebar_height);
|
|
||||||
postSetWidth = sidebar_height;
|
|
||||||
}
|
|
||||||
|
|
||||||
//Fix for the control sidebar height
|
|
||||||
var controlSidebar = $($.AdminLTE.options.controlSidebarOptions.selector);
|
|
||||||
if (typeof controlSidebar !== "undefined") {
|
|
||||||
if (controlSidebar.height() > postSetWidth)
|
|
||||||
$(".content-wrapper, .right-side").css('min-height', controlSidebar.height());
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
},
|
|
||||||
fixSidebar: function () {
|
|
||||||
//Make sure the body tag has the .fixed class
|
|
||||||
if (!$("body").hasClass("fixed")) {
|
|
||||||
if (typeof $.fn.slimScroll != 'undefined') {
|
|
||||||
$(".sidebar").slimScroll({destroy: true}).height("auto");
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
} else if (typeof $.fn.slimScroll == 'undefined' && window.console) {
|
|
||||||
window.console.error("Error: the fixed layout requires the slimscroll plugin!");
|
|
||||||
}
|
|
||||||
//Enable slimscroll for fixed layout
|
|
||||||
if ($.AdminLTE.options.sidebarSlimScroll) {
|
|
||||||
if (typeof $.fn.slimScroll != 'undefined') {
|
|
||||||
//Destroy if it exists
|
|
||||||
$(".sidebar").slimScroll({destroy: true}).height("auto");
|
|
||||||
//Add slimscroll
|
|
||||||
$(".sidebar").slimscroll({
|
|
||||||
height: ($(window).height() - $(".main-header").height()) + "px",
|
|
||||||
color: "rgba(0,0,0,0.2)",
|
|
||||||
size: "3px"
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
/* PushMenu()
|
|
||||||
* ==========
|
|
||||||
* Adds the push menu functionality to the sidebar.
|
|
||||||
*
|
|
||||||
* @type Function
|
|
||||||
* @usage: $.AdminLTE.pushMenu("[data-toggle='offcanvas']")
|
|
||||||
*/
|
|
||||||
$.AdminLTE.pushMenu = {
|
|
||||||
activate: function (toggleBtn) {
|
|
||||||
//Get the screen sizes
|
|
||||||
var screenSizes = $.AdminLTE.options.screenSizes;
|
|
||||||
|
|
||||||
//Enable sidebar toggle
|
|
||||||
$(toggleBtn).on('click', function (e) {
|
|
||||||
e.preventDefault();
|
|
||||||
|
|
||||||
//Enable sidebar push menu
|
|
||||||
if ($(window).width() > (screenSizes.sm - 1)) {
|
|
||||||
if ($("body").hasClass('sidebar-collapse')) {
|
|
||||||
$("body").removeClass('sidebar-collapse').trigger('expanded.pushMenu');
|
|
||||||
} else {
|
|
||||||
$("body").addClass('sidebar-collapse').trigger('collapsed.pushMenu');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//Handle sidebar push menu for small screens
|
|
||||||
else {
|
|
||||||
if ($("body").hasClass('sidebar-open')) {
|
|
||||||
$("body").removeClass('sidebar-open').removeClass('sidebar-collapse').trigger('collapsed.pushMenu');
|
|
||||||
} else {
|
|
||||||
$("body").addClass('sidebar-open').trigger('expanded.pushMenu');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
$(".content-wrapper").click(function () {
|
|
||||||
//Enable hide menu when clicking on the content-wrapper on small screens
|
|
||||||
if ($(window).width() <= (screenSizes.sm - 1) && $("body").hasClass("sidebar-open")) {
|
|
||||||
$("body").removeClass('sidebar-open');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
//Enable expand on hover for sidebar mini
|
|
||||||
if ($.AdminLTE.options.sidebarExpandOnHover
|
|
||||||
|| ($('body').hasClass('fixed')
|
|
||||||
&& $('body').hasClass('sidebar-mini'))) {
|
|
||||||
this.expandOnHover();
|
|
||||||
}
|
|
||||||
},
|
|
||||||
expandOnHover: function () {
|
|
||||||
var _this = this;
|
|
||||||
var screenWidth = $.AdminLTE.options.screenSizes.sm - 1;
|
|
||||||
//Expand sidebar on hover
|
|
||||||
$('.main-sidebar').hover(function () {
|
|
||||||
if ($('body').hasClass('sidebar-mini')
|
|
||||||
&& $("body").hasClass('sidebar-collapse')
|
|
||||||
&& $(window).width() > screenWidth) {
|
|
||||||
_this.expand();
|
|
||||||
}
|
|
||||||
}, function () {
|
|
||||||
if ($('body').hasClass('sidebar-mini')
|
|
||||||
&& $('body').hasClass('sidebar-expanded-on-hover')
|
|
||||||
&& $(window).width() > screenWidth) {
|
|
||||||
_this.collapse();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
expand: function () {
|
|
||||||
$("body").removeClass('sidebar-collapse').addClass('sidebar-expanded-on-hover');
|
|
||||||
},
|
|
||||||
collapse: function () {
|
|
||||||
if ($('body').hasClass('sidebar-expanded-on-hover')) {
|
|
||||||
$('body').removeClass('sidebar-expanded-on-hover').addClass('sidebar-collapse');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
/* Tree()
|
|
||||||
* ======
|
|
||||||
* Converts the sidebar into a multilevel
|
|
||||||
* tree view menu.
|
|
||||||
*
|
|
||||||
* @type Function
|
|
||||||
* @Usage: $.AdminLTE.tree('.sidebar')
|
|
||||||
*/
|
|
||||||
$.AdminLTE.tree = function (menu) {
|
|
||||||
var _this = this;
|
|
||||||
var animationSpeed = $.AdminLTE.options.animationSpeed;
|
|
||||||
$(document).on('click', menu + ' li a', function (e) {
|
|
||||||
//Get the clicked link and the next element
|
|
||||||
var $this = $(this);
|
|
||||||
var checkElement = $this.next();
|
|
||||||
|
|
||||||
//Check if the next element is a menu and is visible
|
|
||||||
if ((checkElement.is('.treeview-menu')) && (checkElement.is(':visible'))) {
|
|
||||||
//Close the menu
|
|
||||||
checkElement.slideUp(animationSpeed, function () {
|
|
||||||
checkElement.removeClass('menu-open');
|
|
||||||
//Fix the layout in case the sidebar stretches over the height of the window
|
|
||||||
//_this.layout.fix();
|
|
||||||
});
|
|
||||||
checkElement.parent("li").removeClass("active");
|
|
||||||
}
|
|
||||||
//If the menu is not visible
|
|
||||||
else if ((checkElement.is('.treeview-menu')) && (!checkElement.is(':visible'))) {
|
|
||||||
//Get the parent menu
|
|
||||||
var parent = $this.parents('ul').first();
|
|
||||||
//Close all open menus within the parent
|
|
||||||
var ul = parent.find('ul:visible').slideUp(animationSpeed);
|
|
||||||
//Remove the menu-open class from the parent
|
|
||||||
ul.removeClass('menu-open');
|
|
||||||
//Get the parent li
|
|
||||||
var parent_li = $this.parent("li");
|
|
||||||
|
|
||||||
//Open the target menu and add the menu-open class
|
|
||||||
checkElement.slideDown(animationSpeed, function () {
|
|
||||||
//Add the class active to the parent li
|
|
||||||
checkElement.addClass('menu-open');
|
|
||||||
parent.find('li.active').removeClass('active');
|
|
||||||
parent_li.addClass('active');
|
|
||||||
//Fix the layout in case the sidebar stretches over the height of the window
|
|
||||||
_this.layout.fix();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
//if this isn't a link, prevent the page from being redirected
|
|
||||||
if (checkElement.is('.treeview-menu')) {
|
|
||||||
e.preventDefault();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
/* ControlSidebar
|
|
||||||
* ==============
|
|
||||||
* Adds functionality to the right sidebar
|
|
||||||
*
|
|
||||||
* @type Object
|
|
||||||
* @usage $.AdminLTE.controlSidebar.activate(options)
|
|
||||||
*/
|
|
||||||
$.AdminLTE.controlSidebar = {
|
|
||||||
//instantiate the object
|
|
||||||
activate: function () {
|
|
||||||
//Get the object
|
|
||||||
var _this = this;
|
|
||||||
//Update options
|
|
||||||
var o = $.AdminLTE.options.controlSidebarOptions;
|
|
||||||
//Get the sidebar
|
|
||||||
var sidebar = $(o.selector);
|
|
||||||
//The toggle button
|
|
||||||
var btn = $(o.toggleBtnSelector);
|
|
||||||
|
|
||||||
//Listen to the click event
|
|
||||||
btn.on('click', function (e) {
|
|
||||||
e.preventDefault();
|
|
||||||
//If the sidebar is not open
|
|
||||||
if (!sidebar.hasClass('control-sidebar-open')
|
|
||||||
&& !$('body').hasClass('control-sidebar-open')) {
|
|
||||||
//Open the sidebar
|
|
||||||
_this.open(sidebar, o.slide);
|
|
||||||
} else {
|
|
||||||
_this.close(sidebar, o.slide);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
//If the body has a boxed layout, fix the sidebar bg position
|
|
||||||
var bg = $(".control-sidebar-bg");
|
|
||||||
_this._fix(bg);
|
|
||||||
|
|
||||||
//If the body has a fixed layout, make the control sidebar fixed
|
|
||||||
if ($('body').hasClass('fixed')) {
|
|
||||||
_this._fixForFixed(sidebar);
|
|
||||||
} else {
|
|
||||||
//If the content height is less than the sidebar's height, force max height
|
|
||||||
if ($('.content-wrapper, .right-side').height() < sidebar.height()) {
|
|
||||||
_this._fixForContent(sidebar);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
//Open the control sidebar
|
|
||||||
open: function (sidebar, slide) {
|
|
||||||
//Slide over content
|
|
||||||
if (slide) {
|
|
||||||
sidebar.addClass('control-sidebar-open');
|
|
||||||
} else {
|
|
||||||
//Push the content by adding the open class to the body instead
|
|
||||||
//of the sidebar itself
|
|
||||||
$('body').addClass('control-sidebar-open');
|
|
||||||
}
|
|
||||||
},
|
|
||||||
//Close the control sidebar
|
|
||||||
close: function (sidebar, slide) {
|
|
||||||
if (slide) {
|
|
||||||
sidebar.removeClass('control-sidebar-open');
|
|
||||||
} else {
|
|
||||||
$('body').removeClass('control-sidebar-open');
|
|
||||||
}
|
|
||||||
},
|
|
||||||
_fix: function (sidebar) {
|
|
||||||
var _this = this;
|
|
||||||
if ($("body").hasClass('layout-boxed')) {
|
|
||||||
sidebar.css('position', 'absolute');
|
|
||||||
sidebar.height($(".wrapper").height());
|
|
||||||
$(window).resize(function () {
|
|
||||||
_this._fix(sidebar);
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
sidebar.css({
|
|
||||||
'position': 'fixed',
|
|
||||||
'height': 'auto'
|
|
||||||
});
|
|
||||||
}
|
|
||||||
},
|
|
||||||
_fixForFixed: function (sidebar) {
|
|
||||||
sidebar.css({
|
|
||||||
'position': 'fixed',
|
|
||||||
'max-height': '100%',
|
|
||||||
'overflow': 'auto',
|
|
||||||
'padding-bottom': '50px'
|
|
||||||
});
|
|
||||||
},
|
|
||||||
_fixForContent: function (sidebar) {
|
|
||||||
$(".content-wrapper, .right-side").css('min-height', sidebar.height());
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
/* BoxWidget
|
|
||||||
* =========
|
|
||||||
* BoxWidget is a plugin to handle collapsing and
|
|
||||||
* removing boxes from the screen.
|
|
||||||
*
|
|
||||||
* @type Object
|
|
||||||
* @usage $.AdminLTE.boxWidget.activate()
|
|
||||||
* Set all your options in the main $.AdminLTE.options object
|
|
||||||
*/
|
|
||||||
$.AdminLTE.boxWidget = {
|
|
||||||
selectors: $.AdminLTE.options.boxWidgetOptions.boxWidgetSelectors,
|
|
||||||
icons: $.AdminLTE.options.boxWidgetOptions.boxWidgetIcons,
|
|
||||||
animationSpeed: $.AdminLTE.options.animationSpeed,
|
|
||||||
activate: function (_box) {
|
|
||||||
var _this = this;
|
|
||||||
if (!_box) {
|
|
||||||
_box = document; // activate all boxes per default
|
|
||||||
}
|
|
||||||
//Listen for collapse event triggers
|
|
||||||
$(_box).on('click', _this.selectors.collapse, function (e) {
|
|
||||||
e.preventDefault();
|
|
||||||
_this.collapse($(this));
|
|
||||||
});
|
|
||||||
|
|
||||||
//Listen for remove event triggers
|
|
||||||
$(_box).on('click', _this.selectors.remove, function (e) {
|
|
||||||
e.preventDefault();
|
|
||||||
_this.remove($(this));
|
|
||||||
});
|
|
||||||
},
|
|
||||||
collapse: function (element) {
|
|
||||||
var _this = this;
|
|
||||||
//Find the box parent
|
|
||||||
var box = element.parents(".box").first();
|
|
||||||
//Find the body and the footer
|
|
||||||
var box_content = box.find("> .box-body, > .box-footer, > form >.box-body, > form > .box-footer");
|
|
||||||
if (!box.hasClass("collapsed-box")) {
|
|
||||||
//Convert minus into plus
|
|
||||||
element.children(":first")
|
|
||||||
.removeClass(_this.icons.collapse)
|
|
||||||
.addClass(_this.icons.open);
|
|
||||||
//Hide the content
|
|
||||||
box_content.slideUp(_this.animationSpeed, function () {
|
|
||||||
box.addClass("collapsed-box");
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
//Convert plus into minus
|
|
||||||
element.children(":first")
|
|
||||||
.removeClass(_this.icons.open)
|
|
||||||
.addClass(_this.icons.collapse);
|
|
||||||
//Show the content
|
|
||||||
box_content.slideDown(_this.animationSpeed, function () {
|
|
||||||
box.removeClass("collapsed-box");
|
|
||||||
});
|
|
||||||
}
|
|
||||||
},
|
|
||||||
remove: function (element) {
|
|
||||||
//Find the box parent
|
|
||||||
var box = element.parents(".box").first();
|
|
||||||
box.slideUp(this.animationSpeed);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
/* ------------------
|
|
||||||
* - Custom Plugins -
|
|
||||||
* ------------------
|
|
||||||
* All custom plugins are defined below.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* BOX REFRESH BUTTON
|
|
||||||
* ------------------
|
|
||||||
* This is a custom plugin to use with the component BOX. It allows you to add
|
|
||||||
* a refresh button to the box. It converts the box's state to a loading state.
|
|
||||||
*
|
|
||||||
* @type plugin
|
|
||||||
* @usage $("#box-widget").boxRefresh( options );
|
|
||||||
*/
|
|
||||||
(function ($) {
|
|
||||||
|
|
||||||
"use strict";
|
|
||||||
|
|
||||||
$.fn.boxRefresh = function (options) {
|
|
||||||
|
|
||||||
// Render options
|
|
||||||
var settings = $.extend({
|
|
||||||
//Refresh button selector
|
|
||||||
trigger: ".refresh-btn",
|
|
||||||
//File source to be loaded (e.g: ajax/src.php)
|
|
||||||
source: "",
|
|
||||||
//Callbacks
|
|
||||||
onLoadStart: function (box) {
|
|
||||||
return box;
|
|
||||||
}, //Right after the button has been clicked
|
|
||||||
onLoadDone: function (box) {
|
|
||||||
return box;
|
|
||||||
} //When the source has been loaded
|
|
||||||
|
|
||||||
}, options);
|
|
||||||
|
|
||||||
//The overlay
|
|
||||||
var overlay = $('<div class="overlay"><div class="fa fa-refresh fa-spin"></div></div>');
|
|
||||||
|
|
||||||
return this.each(function () {
|
|
||||||
//if a source is specified
|
|
||||||
if (settings.source === "") {
|
|
||||||
if (window.console) {
|
|
||||||
window.console.log("Please specify a source first - boxRefresh()");
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
//the box
|
|
||||||
var box = $(this);
|
|
||||||
//the button
|
|
||||||
var rBtn = box.find(settings.trigger).first();
|
|
||||||
|
|
||||||
//On trigger click
|
|
||||||
rBtn.on('click', function (e) {
|
|
||||||
e.preventDefault();
|
|
||||||
//Add loading overlay
|
|
||||||
start(box);
|
|
||||||
|
|
||||||
//Perform ajax call
|
|
||||||
box.find(".box-body").load(settings.source, function () {
|
|
||||||
done(box);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
function start(box) {
|
|
||||||
//Add overlay and loading img
|
|
||||||
box.append(overlay);
|
|
||||||
|
|
||||||
settings.onLoadStart.call(box);
|
|
||||||
}
|
|
||||||
|
|
||||||
function done(box) {
|
|
||||||
//Remove overlay and loading img
|
|
||||||
box.find(overlay).remove();
|
|
||||||
|
|
||||||
settings.onLoadDone.call(box);
|
|
||||||
}
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
})(jQuery);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* EXPLICIT BOX ACTIVATION
|
|
||||||
* -----------------------
|
|
||||||
* This is a custom plugin to use with the component BOX. It allows you to activate
|
|
||||||
* a box inserted in the DOM after the app.js was loaded.
|
|
||||||
*
|
|
||||||
* @type plugin
|
|
||||||
* @usage $("#box-widget").activateBox();
|
|
||||||
*/
|
|
||||||
(function ($) {
|
|
||||||
|
|
||||||
'use strict';
|
|
||||||
|
|
||||||
$.fn.activateBox = function () {
|
|
||||||
$.AdminLTE.boxWidget.activate(this);
|
|
||||||
};
|
|
||||||
|
|
||||||
})(jQuery);
|
|
||||||
|
|
11
resources/assets/js/bootstrap.js
vendored
11
resources/assets/js/bootstrap.js
vendored
|
@ -7,6 +7,17 @@ window._ = require('lodash');
|
||||||
* code may be modified to fit the specific needs of your application.
|
* code may be modified to fit the specific needs of your application.
|
||||||
*/
|
*/
|
||||||
window.$ = window.jQuery = require('jquery');
|
window.$ = window.jQuery = require('jquery');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* jQuery UI is loaded here and then the tooltip is assigned another funtion name
|
||||||
|
* This resolves the issue of jquery-ui & bootstrap tooltip conflict
|
||||||
|
*/
|
||||||
|
require('jquery-ui');
|
||||||
|
jQuery.fn.uitooltip = jQuery.fn.tooltip;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Load boostrap
|
||||||
|
*/
|
||||||
require('bootstrap-less');
|
require('bootstrap-less');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -120,10 +120,6 @@ pieOptions = {
|
||||||
});
|
});
|
||||||
}(jQuery, window.snipeit.settings));
|
}(jQuery, window.snipeit.settings));
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -178,12 +174,11 @@ $(document).ready(function () {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
$('.datepicker').datepicker();
|
|
||||||
|
|
||||||
var datepicker = $.fn.datepicker.noConflict(); // return $.fn.datepicker to previously assigned value
|
|
||||||
$.fn.bootstrapDP = datepicker;
|
|
||||||
$('.datepicker').datepicker();
|
|
||||||
|
|
||||||
|
// $('.datepicker').datepicker();
|
||||||
|
// var datepicker = $.fn.datepicker.noConflict(); // return $.fn.datepicker to previously assigned value
|
||||||
|
// $.fn.bootstrapDP = datepicker;
|
||||||
|
// $('.datepicker').datepicker();
|
||||||
|
|
||||||
// Crazy select2 rich dropdowns with images!
|
// Crazy select2 rich dropdowns with images!
|
||||||
$('.js-data-ajax').each( function (i,item) {
|
$('.js-data-ajax').each( function (i,item) {
|
||||||
|
@ -294,8 +289,12 @@ $(document).ready(function () {
|
||||||
"X-Requested-With": 'XMLHttpRequest',
|
"X-Requested-With": 'XMLHttpRequest',
|
||||||
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr('content')
|
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr('content')
|
||||||
},
|
},
|
||||||
}).done(function(response) {;
|
}).done(function(response) {
|
||||||
var currentlySelected = element.select2('data').map(function (x){ return +x.id}).filter(function (x) {return x !== 0});
|
var currentlySelected = element.select2('data').map(function (x){
|
||||||
|
return +x.id;
|
||||||
|
}).filter(function (x) {
|
||||||
|
return x !== 0;
|
||||||
|
});
|
||||||
|
|
||||||
// makes sure we're not selecting the same thing twice for multiples
|
// makes sure we're not selecting the same thing twice for multiples
|
||||||
var filteredResponse = response.items.filter(function(item) {
|
var filteredResponse = response.items.filter(function(item) {
|
||||||
|
@ -424,7 +423,7 @@ $(document).ready(function () {
|
||||||
var reader = new FileReader();
|
var reader = new FileReader();
|
||||||
reader.onload = function(e) {
|
reader.onload = function(e) {
|
||||||
$('#imagePreview').attr('src', e.target.result);
|
$('#imagePreview').attr('src', e.target.result);
|
||||||
}
|
};
|
||||||
reader.readAsDataURL(input.files[0]);
|
reader.readAsDataURL(input.files[0]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -434,7 +433,7 @@ $(document).ready(function () {
|
||||||
else if(bytes < 1048576) return(bytes / 1024).toFixed(2) + " KB";
|
else if(bytes < 1048576) return(bytes / 1024).toFixed(2) + " KB";
|
||||||
else if(bytes < 1073741824) return(bytes / 1048576).toFixed(2) + " MB";
|
else if(bytes < 1073741824) return(bytes / 1048576).toFixed(2) + " MB";
|
||||||
else return(bytes / 1073741824).toFixed(2) + " GB";
|
else return(bytes / 1073741824).toFixed(2) + " GB";
|
||||||
};
|
}
|
||||||
|
|
||||||
// File size validation
|
// File size validation
|
||||||
$('#uploadFile').bind('change', function() {
|
$('#uploadFile').bind('change', function() {
|
||||||
|
@ -464,13 +463,4 @@ $(document).ready(function () {
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
|
@ -755,7 +755,6 @@
|
||||||
</div>
|
</div>
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
|
|
||||||
<a target="_blank" href="https://snipeitapp.com" rel="noopener">Snipe-IT</a> is open source software, made with <i class="fa fa-heart" style="color: #a94442; font-size: 10px"></i> by <a href="https://twitter.com/snipeitapp" rel="noopener">@snipeitapp</a>.
|
<a target="_blank" href="https://snipeitapp.com" rel="noopener">Snipe-IT</a> is open source software, made with <i class="fa fa-heart" style="color: #a94442; font-size: 10px"></i> by <a href="https://twitter.com/snipeitapp" rel="noopener">@snipeitapp</a>.
|
||||||
</footer>
|
</footer>
|
||||||
|
|
||||||
|
@ -797,8 +796,6 @@
|
||||||
@show
|
@show
|
||||||
|
|
||||||
<script nonce="{{ csrf_token() }}">
|
<script nonce="{{ csrf_token() }}">
|
||||||
|
|
||||||
|
|
||||||
$.validate({
|
$.validate({
|
||||||
form : '#create-form',
|
form : '#create-form',
|
||||||
modules : 'date, toggleDisabled',
|
modules : 'date, toggleDisabled',
|
||||||
|
@ -807,6 +804,7 @@
|
||||||
});
|
});
|
||||||
|
|
||||||
$(function () {
|
$(function () {
|
||||||
|
|
||||||
$('[data-toggle="tooltip"]').tooltip();
|
$('[data-toggle="tooltip"]').tooltip();
|
||||||
$('[data-toggle="popover"]').popover();
|
$('[data-toggle="popover"]').popover();
|
||||||
$('.select2 span').addClass('needsclick');
|
$('.select2 span').addClass('needsclick');
|
||||||
|
|
|
@ -58,6 +58,9 @@
|
||||||
export: 'fa-download'
|
export: 'fa-download'
|
||||||
},
|
},
|
||||||
exportTypes: ['csv', 'excel', 'doc', 'txt','json', 'xml', 'pdf'],
|
exportTypes: ['csv', 'excel', 'doc', 'txt','json', 'xml', 'pdf'],
|
||||||
|
onLoadSuccess: function () {
|
||||||
|
$('[data-toggle="tooltip"]').tooltip(); // Need to attach tooltips after ajax call
|
||||||
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -173,7 +176,7 @@
|
||||||
|
|
||||||
if ((row.available_actions) && (row.available_actions.delete === true)) {
|
if ((row.available_actions) && (row.available_actions.delete === true)) {
|
||||||
actions += '<a href="{{ url('/') }}/' + dest + '/' + row.id + '" '
|
actions += '<a href="{{ url('/') }}/' + dest + '/' + row.id + '" '
|
||||||
+ ' class="btn btn-danger btn-sm delete-asset" data-tooltip="true" '
|
+ ' class="btn btn-danger btn-sm delete-asset" data-toggle="tooltip" '
|
||||||
+ ' data-toggle="modal" '
|
+ ' data-toggle="modal" '
|
||||||
+ ' data-content="{{ trans('general.sure_to_delete') }} ' + row.name + '?" '
|
+ ' data-content="{{ trans('general.sure_to_delete') }} ' + row.name + '?" '
|
||||||
+ ' data-title="{{ trans('general.delete') }}" onClick="return false;">'
|
+ ' data-title="{{ trans('general.delete') }}" onClick="return false;">'
|
||||||
|
@ -256,9 +259,9 @@
|
||||||
function licenseSeatInOutFormatter(value, row) {
|
function licenseSeatInOutFormatter(value, row) {
|
||||||
// The user is allowed to check the license seat out and it's available
|
// The user is allowed to check the license seat out and it's available
|
||||||
if ((row.available_actions.checkout == true) && (row.user_can_checkout == true) && ((!row.asset_id) && (!row.assigned_to))) {
|
if ((row.available_actions.checkout == true) && (row.user_can_checkout == true) && ((!row.asset_id) && (!row.assigned_to))) {
|
||||||
return '<a href="{{ url('/') }}/licenses/' + row.license_id + '/checkout/'+row.id+'" class="btn btn-sm bg-maroon" data-tooltip="true" title="Check this item out">{{ trans('general.checkout') }}</a>';
|
return '<a href="{{ url('/') }}/licenses/' + row.license_id + '/checkout/'+row.id+'" class="btn btn-sm bg-maroon" data-toggle="tooltip" title="Check this item out">{{ trans('general.checkout') }}</a>';
|
||||||
} else {
|
} else {
|
||||||
return '<a href="{{ url('/') }}/licenses/' + row.id + '/checkin" class="btn btn-sm bg-purple" data-tooltip="true" title="Check in this license seat.">{{ trans('general.checkin') }}</a>';
|
return '<a href="{{ url('/') }}/licenses/' + row.id + '/checkin" class="btn btn-sm bg-purple" data-toggle="tooltip" title="Check in this license seat.">{{ trans('general.checkin') }}</a>';
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -268,18 +271,18 @@
|
||||||
|
|
||||||
// The user is allowed to check items out, AND the item is deployable
|
// The user is allowed to check items out, AND the item is deployable
|
||||||
if ((row.available_actions.checkout == true) && (row.user_can_checkout == true) && ((!row.asset_id) && (!row.assigned_to))) {
|
if ((row.available_actions.checkout == true) && (row.user_can_checkout == true) && ((!row.asset_id) && (!row.assigned_to))) {
|
||||||
return '<a href="{{ url('/') }}/' + destination + '/' + row.id + '/checkout" class="btn btn-sm bg-maroon" data-tooltip="true" title="Check this item out">{{ trans('general.checkout') }}</a>';
|
return '<a href="{{ url('/') }}/' + destination + '/' + row.id + '/checkout" class="btn btn-sm bg-maroon" data-toggle="tooltip" title="Check this item out">{{ trans('general.checkout') }}</a>';
|
||||||
|
|
||||||
// The user is allowed to check items out, but the item is not deployable
|
// The user is allowed to check items out, but the item is not deployable
|
||||||
} else if (((row.user_can_checkout == false)) && (row.available_actions.checkout == true) && (!row.assigned_to)) {
|
} else if (((row.user_can_checkout == false)) && (row.available_actions.checkout == true) && (!row.assigned_to)) {
|
||||||
return '<div data-tooltip="true" title="This item has a status label that is undeployable and cannot be checked out at this time."><a class="btn btn-sm bg-maroon disabled">{{ trans('general.checkout') }}</a></div>';
|
return '<div data-toggle="tooltip" title="This item has a status label that is undeployable and cannot be checked out at this time."><a class="btn btn-sm bg-maroon disabled">{{ trans('general.checkout') }}</a></div>';
|
||||||
|
|
||||||
// The user is allowed to check items in
|
// The user is allowed to check items in
|
||||||
} else if (row.available_actions.checkin == true) {
|
} else if (row.available_actions.checkin == true) {
|
||||||
if (row.assigned_to) {
|
if (row.assigned_to) {
|
||||||
return '<a href="{{ url('/') }}/' + destination + '/' + row.id + '/checkin" class="btn btn-sm bg-purple" data-tooltip="true" title="Check this item in so it is available for re-imaging, re-issue, etc.">{{ trans('general.checkin') }}</a>';
|
return '<a href="{{ url('/') }}/' + destination + '/' + row.id + '/checkin" class="btn btn-sm bg-purple" data-toggle="tooltip" title="Check this item in so it is available for re-imaging, re-issue, etc.">{{ trans('general.checkin') }}</a>';
|
||||||
} else if (row.assigned_pivot_id) {
|
} else if (row.assigned_pivot_id) {
|
||||||
return '<a href="{{ url('/') }}/' + destination + '/' + row.assigned_pivot_id + '/checkin" class="btn btn-sm bg-purple" data-tooltip="true" title="Check this item in so it is available for re-imaging, re-issue, etc.">{{ trans('general.checkin') }}</a>';
|
return '<a href="{{ url('/') }}/' + destination + '/' + row.assigned_pivot_id + '/checkin" class="btn btn-sm bg-purple" data-toggle="tooltip" title="Check this item in so it is available for re-imaging, re-issue, etc.">{{ trans('general.checkin') }}</a>';
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -293,9 +296,9 @@
|
||||||
// This is only used by the requestable assets section
|
// This is only used by the requestable assets section
|
||||||
function assetRequestActionsFormatter (row, value) {
|
function assetRequestActionsFormatter (row, value) {
|
||||||
if (value.available_actions.cancel == true) {
|
if (value.available_actions.cancel == true) {
|
||||||
return '<form action="{{ url('/') }}/account/request-asset/'+ value.id + '" method="GET"><button class="btn btn-danger btn-sm" data-tooltip="true" title="Cancel this item request">{{ trans('button.cancel') }}</button></form>';
|
return '<form action="{{ url('/') }}/account/request-asset/'+ value.id + '" method="GET"><button class="btn btn-danger btn-sm" data-toggle="tooltip" title="Cancel this item request">{{ trans('button.cancel') }}</button></form>';
|
||||||
} else if (value.available_actions.request == true) {
|
} else if (value.available_actions.request == true) {
|
||||||
return '<form action="{{ url('/') }}/account/request-asset/'+ value.id + '" method="GET"><button class="btn btn-primary btn-sm" data-tooltip="true" title="Request this item">{{ trans('button.request') }}</button></form>';
|
return '<form action="{{ url('/') }}/account/request-asset/'+ value.id + '" method="GET"><button class="btn btn-primary btn-sm" data-toggle="tooltip" title="Request this item">{{ trans('button.request') }}</button></form>';
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -410,7 +413,7 @@
|
||||||
if ((row) && (row!=undefined)) {
|
if ((row) && (row!=undefined)) {
|
||||||
return '<a href="{{ url('/') }}/locations/' + row.id + '"> ' + row.name + '</a>';
|
return '<a href="{{ url('/') }}/locations/' + row.id + '"> ' + row.name + '</a>';
|
||||||
} else if (value.rtd_location) {
|
} else if (value.rtd_location) {
|
||||||
return '<a href="{{ url('/') }}/locations/' + value.rtd_location.id + '" data-tooltip="true" title="Default Location"> ' + value.rtd_location.name + '</a>';
|
return '<a href="{{ url('/') }}/locations/' + value.rtd_location.id + '" data-toggle="tooltip" title="Default Location"> ' + value.rtd_location.name + '</a>';
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -544,7 +547,7 @@
|
||||||
// wenzhixin/bootstrap-table formatters
|
// wenzhixin/bootstrap-table formatters
|
||||||
$(function() {
|
$(function() {
|
||||||
$('#table').on('post-body.bs.table', function () {
|
$('#table').on('post-body.bs.table', function () {
|
||||||
$('[data-tooltip="true"]').tooltip({
|
$('[data-toggle="tooltip"]').tooltip({
|
||||||
container: 'body'
|
container: 'body'
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -65,8 +65,7 @@ mix
|
||||||
.combine(
|
.combine(
|
||||||
[
|
[
|
||||||
"./node_modules/admin-lte/dist/js/adminlte.min.js",
|
"./node_modules/admin-lte/dist/js/adminlte.min.js",
|
||||||
"./node_modules/jquery-ui-dist/jquery-ui.js",
|
"./node_modules/tether/dist/js/tether.js",
|
||||||
"./node_modules/tether/dist/js/tether.min.js",
|
|
||||||
"./node_modules/jquery-slimscroll/jquery.slimscroll.js",
|
"./node_modules/jquery-slimscroll/jquery.slimscroll.js",
|
||||||
"./node_modules/jquery.iframe-transport/jquery.iframe-transport.js",
|
"./node_modules/jquery.iframe-transport/jquery.iframe-transport.js",
|
||||||
"./node_modules/blueimp-file-upload/js/jquery.fileupload.js",
|
"./node_modules/blueimp-file-upload/js/jquery.fileupload.js",
|
||||||
|
|
Loading…
Reference in a new issue