1(function (global) { 2 'use strict'; 3 4 var defaults = { 5 type: 'info', 6 icon: 'info', 7 delay: 5000, 8 title: '', 9 message: '', 10 classes: '' 11 }; 12 13 var target = document.body; 14 15 function generateHTML(settings) { 16 var dir = settings.dir || (window.i18next ? window.i18next.dir() : 'ltr'); 17 return [ 18 '<div class="hive-alert hive-alert-', settings.type, ' ', settings.classes, '" dir="', dir, '">', 19 '<i class="hive-alert-icon fa fa-', settings.icon, '"></i>', 20 '<div class="hive-alert-inner">', 21 settings.title ? '<div class="hive-alert-title">' + settings.title + '</div>' : '', 22 '<div class="hive-alert-msg">', settings.message, '</div>', 23 '</div></div>' 24 ].join(''); 25 } 26 27 function createNotification(baseOptions, options) { 28 var settings = Object.assign({}, defaults, baseOptions, options); 29 settings.target = settings.target || HiveAlerts.getTarget(); 30 31 var messageHTML = generateHTML(settings); 32 return alertify.log(messageHTML, settings.type, settings.delay, settings.target); 33 } 34 35 var HiveAlerts = { 36 info: function(options) { 37 return createNotification({ type: 'info', icon: 'info-circle' }, options); 38 }, 39 40 success: function(options) { 41 return createNotification({ type: 'success', icon: 'check-circle' }, options); 42 }, 43 44 error: function(options) { 45 return createNotification({ type: 'danger', icon: 'exclamation-circle' }, options); 46 }, 47 48 getTarget: function() { 49 return target; 50 }, 51 52 setTarget: function(newTarget) { 53 if (typeof newTarget === 'string') { 54 var resolvedTarget = document.querySelector(newTarget); 55 if (!resolvedTarget) { 56 console.error('Invalid selector: No element found for ' + newTarget); 57 return; 58 } 59 target = resolvedTarget; 60 } else if (newTarget instanceof ShadowRoot) { 61 target = newTarget.querySelector('.hive-alert-container') || 62 newTarget.appendChild(document.createElement('div')); 63 target.className = 'hive-alert-container'; 64 } else if (newTarget instanceof Node) { 65 target = newTarget; 66 } else { 67 console.error('Invalid target element'); 68 } 69 } 70 }; 71 72 global.HiveAlerts = HiveAlerts; 73 74}(typeof window !== 'undefined' ? window : global));
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.