hurbis-ui-v1
Version:
Biblioteca com componentes de interface de usuário para AngularJS em TypeScript.
396 lines • 16.7 kB
JavaScript
/**
* @license hurbis-ui-v1 v1.6.0
* (c) 2018 Hurbis Tecnologia da Informação Ltda. https://www.hurbis.com.br
* License: MIT
*/
var hurbis;
(function (hurbis) {
var ui;
(function (ui) {
"use strict";
var Modulo = /** @class */ (function () {
function Modulo() {
}
Modulo.inicializar = function () {
hurbis.comum.GestorModulo.registrarModulo(Modulo.DEFINICAO);
};
Modulo.DEFINICAO = {
nome: "hurbis.ui",
requisitos: [
"hurbis.comum",
"ngAria",
"ngAnimate",
"ngMessages",
"ui.router",
"blockUI",
"toaster"
]
}; /// propriedade obrigatória para inicialização
return Modulo;
}());
ui.Modulo = Modulo;
Modulo.inicializar();
})(ui = hurbis.ui || (hurbis.ui = {}));
})(hurbis || (hurbis = {}));
var hurbis;
(function (hurbis) {
var ui;
(function (ui) {
var util;
(function (util) {
"use strict";
var Dispositivo = /** @class */ (function () {
function Dispositivo() {
}
/**
* Referência de http://www.quirksmode.org/js/detect.html
**/
Dispositivo.detectarNavegador = function () {
if (this.browserInfo) {
return this.browserInfo;
}
var browserData = [
{
string: navigator.userAgent,
subString: 'Edge',
versionSearch: 'Edge',
identity: 'Edge'
},
{
string: navigator.userAgent,
subString: 'Chrome',
identity: 'Chrome'
},
{
string: navigator.userAgent,
subString: 'OmniWeb',
versionSearch: 'OmniWeb/',
identity: 'OmniWeb'
},
{
string: navigator.vendor,
subString: 'Apple',
versionSearch: 'Version',
identity: 'Safari'
},
{
prop: navigator.userAgent,
subString: 'Opera',
identity: 'Opera'
},
{
string: navigator.vendor,
subString: 'iCab',
identity: 'iCab'
},
{
string: navigator.vendor,
subString: 'KDE',
identity: 'Konqueror'
},
{
string: navigator.userAgent,
subString: 'Firefox',
identity: 'Firefox'
},
{
string: navigator.vendor,
subString: 'Camino',
identity: 'Camino'
},
{
string: navigator.userAgent,
subString: 'Netscape',
identity: 'Netscape'
},
{
string: navigator.userAgent,
subString: 'MSIE',
identity: 'Explorer',
versionSearch: 'MSIE'
},
{
string: navigator.userAgent,
subString: 'Trident/7',
identity: 'Explorer',
versionSearch: 'rv'
},
{
string: navigator.userAgent,
subString: 'Gecko',
identity: 'Mozilla',
versionSearch: 'rv'
},
{
string: navigator.userAgent,
subString: 'Mozilla',
identity: 'Netscape',
versionSearch: 'Mozilla'
}
];
var osData = [
{
string: navigator.platform,
subString: 'Win',
identity: 'Windows'
},
{
string: navigator.platform,
subString: 'Mac',
identity: 'Mac'
},
{
string: navigator.platform,
subString: 'Linux',
identity: 'Linux'
},
{
string: navigator.platform,
subString: 'iPhone',
identity: 'iPhone'
},
{
string: navigator.platform,
subString: 'iPod',
identity: 'iPod'
},
{
string: navigator.platform,
subString: 'iPad',
identity: 'iPad'
},
{
string: navigator.platform,
subString: 'Android',
identity: 'Android'
}
];
var versionSearchString = '';
function searchString(data) {
for (var i = 0; i < data.length; i++) {
var dataString = data[i].string;
var dataProp = data[i].prop;
versionSearchString = data[i].versionSearch || data[i].identity;
if (dataString) {
if (dataString.indexOf(data[i].subString) !== -1) {
return data[i].identity;
}
}
else if (dataProp) {
return data[i].identity;
}
}
}
function searchVersion(dataString) {
var index = dataString.indexOf(versionSearchString);
if (index === -1) {
return;
}
return parseInt(dataString.substring(index + versionSearchString.length + 1));
}
var browser = searchString(browserData) || 'unknown-browser';
var version = searchVersion(navigator.userAgent) || searchVersion(navigator.appVersion) || 'unknown-version';
var os = searchString(osData) || 'unknown-os';
// Prepare and store the object
browser = browser.toLowerCase();
version = browser + '-' + version;
os = os.toLowerCase();
this.browserInfo = {
browser: browser,
version: version,
os: os
};
return this.browserInfo;
};
Dispositivo.isMobile = function () {
return this.mobileDetect.mobile();
};
Dispositivo.mobileDetect = new MobileDetect(navigator.userAgent);
Dispositivo.browserInfo = null;
return Dispositivo;
}());
util.Dispositivo = Dispositivo;
})(util = ui.util || (ui.util = {}));
})(ui = hurbis.ui || (hurbis.ui = {}));
})(hurbis || (hurbis = {}));
var hurbis;
(function (hurbis) {
var ui;
(function (ui) {
var util;
(function (util) {
"use strict";
var Arquivo = /** @class */ (function () {
function Arquivo() {
}
Arquivo.baixar = function (arquivo) {
if ("Blob" in window) {
var blob = hurbis.comum.util.Arquivo.toBlob(arquivo);
if ("msSaveOrOpenBlob" in navigator) {
navigator.msSaveOrOpenBlob(blob, arquivo.nome);
}
else {
var downloadLink = document.createElement("a");
downloadLink.download = arquivo.nome;
downloadLink.href = window.URL.createObjectURL(blob);
//#region Necessário para Firefox
downloadLink.onclick = Arquivo.removerElemento;
downloadLink.style.display = "none";
document.body.appendChild(downloadLink);
//#endregion
downloadLink.click();
}
}
else {
console.log("Navegador não compatível com HTML5 Blob.");
}
};
Arquivo.removerElemento = function (event) {
document.body.removeChild(event.target);
};
return Arquivo;
}());
util.Arquivo = Arquivo;
})(util = ui.util || (ui.util = {}));
})(ui = hurbis.ui || (hurbis.ui = {}));
})(hurbis || (hurbis = {}));
var hurbis;
(function (hurbis) {
var ui;
(function (ui) {
"use strict";
var Ancora = /** @class */ (function () {
function Ancora($location, $anchorScroll) {
var _this = this;
this.$location = $location;
this.$anchorScroll = $anchorScroll;
this.restrict = "AC";
this.link = function ($scope, element, attributes) {
element.on("click", function () {
_this.$location.hash(attributes[Ancora.ID]);
_this.$anchorScroll();
});
};
}
Ancora.inicializar = function () {
hurbis.comum.GestorModulo.registrarFuncionalidade({
moduloDefinicao: ui.Modulo.DEFINICAO,
nome: Ancora.ID,
tipo: hurbis.comum.FuncionalidadeTipo.Diretiva,
objeto: [
"$location", "$anchorScroll",
function ($location, $anchorScroll) {
return new Ancora($location, $anchorScroll);
}
]
});
};
Ancora.ID = "hbsAncora";
return Ancora;
}());
ui.Ancora = Ancora;
Ancora.inicializar();
})(ui = hurbis.ui || (hurbis.ui = {}));
})(hurbis || (hurbis = {}));
var hurbis;
(function (hurbis) {
var ui;
(function (ui) {
"use strict";
var Bloqueador = /** @class */ (function () {
function Bloqueador() {
}
Bloqueador.inicializar = function () {
var blockUIConfiguracao = {
moduloDefinicao: ui.Modulo.DEFINICAO,
objeto: [
"blockUIConfig", function (blockUIConfig) {
blockUIConfig.template = "<div class=\"block-ui-overlay\" ></div>\
<div class=\"block-ui-message-container\" aria-live=\"assertive\" aria-atomic=\"true\" >\
<div class=\"block-ui-message\" ng-class=\"$_blockUiMessageClass\" \
translate=\"BLOQUEADOR.Mensagem\" ></div>\
</div>";
blockUIConfig.delay = 100;
blockUIConfig.autoInjectBodyBlock = false;
}
]
};
hurbis.comum.GestorModulo.configurarModulo(blockUIConfiguracao);
};
return Bloqueador;
}());
Bloqueador.inicializar();
})(ui = hurbis.ui || (hurbis.ui = {}));
})(hurbis || (hurbis = {}));
var hurbis;
(function (hurbis) {
var ui;
(function (ui) {
"use strict";
var Objeto = hurbis.comum.util.Objeto;
var BaseController = /** @class */ (function () {
function BaseController() {
this.mensagemFlutante = Objeto.recuperarServico("toaster");
this._$state = Objeto.recuperarServico("$state");
this._bloqueadorGestor = hurbis.comum.util.Objeto.recuperarServico("blockUI");
}
Object.defineProperty(BaseController.prototype, "bloqueadorGestor", {
get: function () {
return this._bloqueadorGestor;
},
enumerable: true,
configurable: true
});
Object.defineProperty(BaseController.prototype, "$state", {
get: function () {
return this._$state;
},
enumerable: true,
configurable: true
});
Object.defineProperty(BaseController.prototype, "$filter", {
get: function () {
if (this._$filter == null) {
this._$filter = Objeto.recuperarServico("$filter");
}
return this._$filter;
},
enumerable: true,
configurable: true
});
Object.defineProperty(BaseController.prototype, "tradutor", {
get: function () {
if (this._tradutor == null) {
this._tradutor = this.$filter("translate");
}
return this._tradutor;
},
enumerable: true,
configurable: true
});
//#region Mensagens Flutuantes
BaseController.prototype.exibirSucesso = function (texto, titulo) {
this.exibirMensagem("success", texto, titulo);
};
BaseController.prototype.exibirAlerta = function (texto, titulo) {
this.exibirMensagem("warning", texto, titulo);
};
BaseController.prototype.exibirInformacao = function (texto, titulo) {
this.exibirMensagem("info", texto, titulo);
};
BaseController.prototype.exibirErro = function (texto, titulo) {
this.exibirMensagem("error", texto, titulo);
};
BaseController.prototype.exibirMensagem = function (tipo, texto, titulo) {
this.mensagemFlutante.pop(tipo, (titulo) ? this.tradutor(titulo) : "", this.tradutor(texto));
};
//#endregion
BaseController.prototype.navegar = function (destino, parametro) {
this.$state.go(destino, parametro);
};
return BaseController;
}());
ui.BaseController = BaseController;
})(ui = hurbis.ui || (hurbis.ui = {}));
})(hurbis || (hurbis = {}));
//# sourceMappingURL=hurbis-ui-v1.js.map