//#region EXTENSIONES
jQuery.fn.disable = function () {
///
/// inhabilita un control. Ejemplo: $("#IDControl").disable();
///
///
}
jQuery.fn.enable = function () {
///
/// habilita un control. Ejemplo: $("#IDControl").enable();
///
///
}
jQuery.fn.reset = function () {
///
/// limpia un formulario. Ejemplo= $("#IDForm").reset();
///
///
}
jQuery.fn.EnableValidationToolTip = function () {
///
/// habilita el tooltip para los controles requeridos contenido en el formulario
///
///
}
jQuery.fn.required = function () {
///
/// coloca un control como requerido. Ejemplo= $("#IDControl").required();
///
///
}
jQuery.fn.noRequired = function () {
///
/// coloca un control como no requerido. Ejemplo= $("#IDControl").noRequired();
///
///
}
jQuery.fn.validateElement = function (controlId) {
///
/// verifica un objeto requerido. Ejemplo= $("#IDForm").validateElement("#IDControl");
/// Id del control
///
///
}
jQuery.fn.setByText = function (value) {
///
/// coloca como seleccionado un item de la lista del un control tipo "select" por descripción. Ejemplo= $("#IDControl").setByText();
///
///
///
}
jQuery.fn.addCustomRule = function (CustomValidation) {
///
/// agrega una regla personalizada a un control en especifico.
/// función que valida, correcto retorna un string en vácio y cuando no el mensaje
///
///
}
jQuery.fn.dateFormatNoTime = function (value, format) {
///
/// formatea una fecha proveniente de del WebAPI o servicio a string sin las horas, minutos y segundos. Ejemplo= $("#IDControl").dateFormatNoTime(objeto.fecha,formato);
/// fecha
/// opcional. formato por defecto "DD-MMMM-YYYY"
///
///
}
jQuery.fn.dotNetFormat = function (formato) {
///
/// lee el texto de un control y retorna un string en formato "MM-DD-YYYY"
/// opcional. el formato por defecto es "DD-MMMM-YYYY"
///
///
}
jQuery.fn.Datepicker = function (params) {
///
/// lee el texto de un control y retorna un objeto Date
/// opcional. se definen sus propiedades yearRange y beforeShowDay
///
///
}
jQuery.fn.Grid = function (action, object, FunctionCallBack) {
///
/// permite configurar, actualizar o recargar un control tipo Grid. Ejemplo $("#IDGrid").Grid('BuildGrid')
/// acción disponibles "Get", "Set", "BuildGrid", "RenderGrid", "RowEvent", "Refresh", "Remove" o "setCustomSettings"
/// opcional. Para la accion RenderGrid se requiere una lista de objetos, para las acciones RowEvent(IdTarget,data) y setCustomSettings(Settings) se requiere una función para manipular los Settings del Grid. Ejemplo $("#IDGrid").Grid('setCustomSettings',function(settings){return settings;});
/// opcional. función que activará una vez termine de cargar la tabla. Ejemplo $("#IDGrid").Grid('BuildGrid',function(){});
///
///
}
jQuery.fn.ButtonSwitch = function (action, value) {
///
/// permite leer, actualizar, inhabilitar o colocar como no requerido un control de tipo ButtonSwitch
/// acción a ejecutar (set,get,disable o required)
/// opcional. solo es requerido para el set, disable y required
///
///
}
jQuery.fn.CargarFirma = function (UserID) {
///
/// coloca como firmado el control firma, para formularios donde ya el usuario firmó. Ejemplo= $("#divIDControlFramework").CargarFirma();
/// opcional. por defecto usa el UserID actual.
///
///
}
jQuery.fn.Catalogo = function (action, object) {
///
/// permite habilitar un catalogo simple o multiple, colocarlo como requerido o limpiarlo. usar objeto div
/// acciones disponible "show", "required", "clear" y "disable"
///
///
///
}
jQuery.fn.DropDownList = function (action, object) {
///
/// permite cargar o cambiar los párametros de entrada del web api
/// acciones disponible load, getselected, getall, setselected, remove, clear y add
/// con las propiedades HttpPost, value, text y Data
///
///
}
jQuery.fn.Readonly = function (value) {
///
/// coloca un control como solo lectura o viceversa
/// valor booleano para el atributo readonly
///
///
}
jQuery.fn.TableInit = function (columnOrder, order, bPaginate, bFilter, bInfo, columnDefinition, data, ScrollX, bLengthMenu) {
///
/// aplica las propiedades del plugin Jquery DataTable a un objeto tabla
/// orden ascendente asc o descendente desc
/// id de la columna para el reordenamiento
/// permitir paginación
/// permitir filtros
/// permitir detalles
/// objeto con la configuracion de las columnas
/// lista de objetos
/// opcional. habilitar el scroll en el eje X
/// opcional. permite definir la cantidad mínima y máxima para filtrar la lista ejemplo: [5,25]. nota: los números desplegados será multiplos del valor mínimo.
///
///
}
//#endregion
this.isMobile = {
Android: function () { }
, BlackBerry: function () { }
, iOS: function () { }
, Opera: function () { }
, Windows: function () { }
, any: function () { }
}
this.UltimusTask = function () {
this.Incident = null;
this.Process = null;
this.Status = null;
this.Version = null;
this.User = null;
this.UserFullName = null;
this.UserEmail = null;
this.Supervisor = null;
this.SupervisorFullName = null;
this.JobFunction = null;
this.Step = null;
this.TaskId = null;
this.NodeVariablesList = new Array();
this.StartTime = null;
this.EndTime = null;
this.Memo = null;
this.SubStatus = null;
this.Priority = null;
this.Summary = null;
this.XmlData = null;
}
this.NodeVariables = function () {
this.NodeName = null;
this.NodeValue = null;
this.NodeValues = null;
}
this.Ultimus = {
// url del site formato: (protocolo/hostname/nameapplication/). Ejemplo: "http://localhost/test/"
server: null
// ID del catálogo a actual o a desplegar
, SelectedCatalog: null
// mensaje: "PROCESO COMPLETADO"
, Message_Success: null
// mensaje: "ADVERTENCIA DEL SISTEMA"
, Message_Warning: null
// mensaje: "INFORMACIÓN DEL SISTEMA"
, Message_Info: null
// mensaje: "ERROR INESPERADO"
, Message_Error: null
// mensaje: "Ha ocurrido un error inesperado. Vuelva a intentarlo mas tarde"
, MessageFull_Error: null
, GetControlsSettings: function (keyfiltro, keyformulario, form, DataModel) {
///
/// Obtiene la configuración de los controles por filtro y formulario desde el BPMComplement
/// nombre filtro en el BPMComplement
/// nombre formulario en el BPMComplement
/// ID objeto form de la vista
/// si es true llamará al método getDataModel
///
///
}
, UpdateControlsSettings: function (keyfiltro, keyformulario, form, FunctionCallBack) {
///
/// Obtiene la configuración de los controles por filtro y formulario desde el BPMComplement y llama una funcion especifica
/// nombre filtro en el BPMComplement
/// nombre formulario en el BPMComplement
/// ID objeto form de la vista
/// function que llamará una vez termine de cargar los settings
///
///
}
, getDataModel: function () {
///
/// se activa una vez termina de cargar el método GetControlsSettings y su párametro DataModel sea igual a true.
///
///
}
, DataCatalogo: function (SelectedCatalog, data) {
///
/// Evento que se activa al seleccionar un item de la lista del catálogo
/// ID del catálogo
/// objeto fila del DataTable
///
///
}
, CargarDataCatalogo: function (Direccion, filtro, n) {
///
/// Carga el WebAPi y despliega el catálogo en cuestion
/// Url del WebAPI, esta en los atributos del boton del catálogo. Ejemplo: $('#btnIDcatálogo').attr("Direccion_API");
/// opcional, se puede emitir un filtro para una busqueda más personalizada
/// opcional, despúes del párametro filtro puede recibir n paraemtros que se incluirán dinamicamente en el request. para una lista larga de pármetros se recomienda usar un objeto compuesto.
///
///
}
, DisableCatalog: function (Id, disable) {
///
/// Inhabilita o viceversa un catálogo
/// Id del catálogo registrado en el BPMComplement
///
///
///
}
, BuildGrid: function (ModelTabla, model, FunctionCallBack) {
///
/// Carga los datos del Grid desde el WebAPI
/// propiedades y settings del Grid, estas se pueden obetener con el evento getSettingsGrid
/// objeto que será enviado como parámetro al WebAPI
/// opcional, una vez termine de cargar se llamará a esta funcion
///
///
}
, RenderGrid: function (ModelTabla) {
///
/// renderiza o actualiza el Grid con los nuevos settings o datos seteados en (ModelTabla.GridSettings.data)
/// propiedades y settings del Grid, estas se pueden obetener con el evento getSettingsGrid
///
///
}
, getSettingsGrid: function (ModelTabla) {
///
/// se activa en por cada evento que ocurre en una fila del Grid
/// propiedades y settings del Grid
///
///
}
, GridRowEvent: function (IDGrid, IDTarget, Data) {
///
/// se activa en por cada evento que ocurre en una fila del Grid
/// Id del Grid sobre cual ocurrió el evento
/// Id del control dentro de la fila del Grid
/// objeto fila con todas las propiedades del modelo
///
///
}
, setCustomSettingsDataGrid: function (IDGrid, Settings) {
///
/// se activa justo antes de renderizar el Grid. esto permite agregar nuevos controles en las columnas y manipular la información antes de renderizar el Grid
/// Id del Grid sobre cual ocurrió
/// Configuración actual del Grid, la lista devuelta por el WebAPI se encuentra en la propiedad Settings.data
///
///
}
, swapDataTableRows: function (id, row1Index, row2Index) {
///
/// intercambias dos filas de una misma tabla
/// id de la tabla
/// posición fila 1
/// posición fila 2
///
///
}
, HeaderToggle: function () {
///
/// permite colapsar o viceversa el menú de pantallas y el logo del formulario
///
///
}
, LoadMessage: function (Message) {
///
/// despliega el toast de carga
/// opcional. mensaje personalizado
///
///
}
, ENDREQUEST: function () {
///
/// oculta el toast de carga
///
///
}
, IsNullOrEmpty: function (value) {
///
/// verifica si un string es nulo o vacio o con espacios en blanco
///
///
///
}
, replaceAll: function (find, replace, str) {
///
/// reemplaza un texto por otro en una cadena especifica
/// texto a reemplazar
/// texto nuevo
/// cadena donde se realizará el reemplazo
///
///
}
, getUrlParameter: function (sParam) {
///
/// lee un parametro especifico del request
/// ID del parámetro
///
///
}
, UpdateRequestParam: function (param, value, url) {
///
/// actualiza un parametro especifico del request y retorna la url para su redirección
/// ID del parámetro
/// valor nuevo
/// opcional. url personalizado. si es nulo automáticamente por defecto usa el del request
///
///
}
, GetInternetExplorerVersion: function () {
///
/// retorna la version de IE(..8,9,10,etc.), sino es IE devolverá -1
///
///
}
, OmitirAcentos: function (text) {
///
/// recorre una cadena y reemplaza las vocales acentuadas
///
///
///
}
, RedirectToAction: function (Controller, View, customUrl) {
///
/// redirecciona a un controller y vista en especifico
/// nombre del controlador
/// nombre de la vista
/// opcional, utiliza esta url como base para redireccionar
///
///
}
, GetDateFormatNoTime: function (value, format) {
///
/// formatea una fecha proveniente de del WebAPI o servicio a string sin las horas, minutos y segundos. Ejemplo: GetDateFormatNoTime(objeto.fecha,formato);
/// fecha
/// opcional. formato por defecto "DD-MMMM-YYYY"
///
///
}
, CompleteTask: function (Task, FunctionCallBack) {
///
/// completa una tarea de Ultimus
/// objteto tarea, que permite enviar un summary o memo. por defecto ya carga cargado el UserID y el TaskID
/// opcional. permite llamar una función personalizada al terminar de completar la tarea.
///
///
}
, GetTaskWithVariables: function (Task, FunctionCallBack) {
///
/// obtiene una tarea en especifico y una lista de variables especifica
/// objteto tarea, que permite definir en la propiedad NodeVariablesList que variables del mapa deseamos leer. por defecto ya carga cargado el UserID y el TaskID
/// permite llamar una función personalizada al terminar de completar la carga de la tarea.
///
///
}
, IsMemberOfGroup: function (Group, FunctionCallBack, UserID) {
///
/// permite verificar si el usuario actual o uno en especifico pertenece a un grupo del OrgChart. está función es sincrona.
/// nombre del grupo en el OrgChar
/// opcional. sirve para validar un usuario que no es el actual
///
///
}
, AjaxPostData: function (url, model, IsASync, CheckCodRespuesta, FunctionCallBack, minCallLevel, CustomMessageExitoso) {
///
/// permite hacer una petición tipo POST con AJax a un WebAPI o Servicio
/// ruta del WebAPI o Servicio. cuando es WebAPI debe concatenar la variable server+url del WebAPI
/// objeto a enviar al servicio
/// indica si la petición de Ajax es asincrona o no
/// indica si emite mensaje de EXITOSO , ADVERTENCIA o ERROR según respuesta del servicio.
/// opcional. funcion que activará una vez responda el servicio
/// opcional. indica el nivel minimo para llamar a la función ya se a EXITOSO , ADVERTENCIA o ERROR. al ser null se asume como el nivel EXITOSO
/// opcional. mensaje personalizado para respuesta EXITOSO
///
///
}
, AjaxGetData: function (url, IsASync, CheckCodRespuesta, FunctionCallBack, minCallLevel, CustomMessageExitoso) {
///
/// permite hacer una petición tipo GET con AJax a un WebAPI o Servicio
/// ruta del WebAPI o Servicio. cuando es WebAPI debe concatenar la variable server+url del WebAPI
/// objeto a enviar al servicio
/// indica si la petición de Ajax es asincrona o no
/// indica si emite mensaje de EXITOSO , ADVERTENCIA o ERROR según respuesta del servicio.
/// opcional. funcion que activará una vez responda el servicio
/// opcional. indica el nivel minimo para llamar a la función ya se a EXITOSO , ADVERTENCIA o ERROR. al ser null se asume como el nivel EXITOSO
/// opcional. mensaje personalizado para respuesta EXITOSO
///
///
}
, GetAge: function (fecha, formato) {
///
/// calcula el total de años, meses y días, devuelve un objeto con las propiedades (Date, Years, Months, TotalMonths y TotalDays )
/// fecha
/// formato de la fecha suministrada
///
///
}
, CustomNumberFormat: function (value, decimal_places, symbol, thousand_separator, decimal_separator) {
///
/// permite personalizar el formato de un número
/// valor a formatear
/// número de digitos despues del punto
/// opcional, simbolo personalizado, por ejemplo para monedas o porcentajes
/// opcional, por defecto es una coma [,]
/// opcional, por defecto es un punto [.]
///
///
}
, SetMaxCharacter: function (id, MaxLength) {
///
/// define el limite de caracteres permitidos en una textbox
/// id del control
/// longitud máxima
///
///
}
, SetPopoverMaxCharacter: function (id, MaxLength) {
///
/// define el limite de caracteres permitidos en una textbox y coloca un tooltip flotante indicando cuantos cáracteres restan
/// id del control
/// longitud máxima
///
///
}
, InitPopover: function (param) {
///
/// agrega un tooltip personalizado a un control
/// entre las propiedades de este control estan IdControl y Options. para la propiedad Options consultar la siguiente URL' http://v4-alpha.getbootstrap.com/components/popovers/'
///
///
}
, UpdateContentPopover: function (id, content) {
///
/// actualiza el contenido de un tooltip personalizado
/// id del control
/// nuevo contenido
///
///
}
}
intellisense.annotate(window, {
// Clase Task con propiedades básicas de Utlimus
UltimusTask: null
// Clase Varaible de ultimus, para la propidad NodeVariablesList de la clase UltimusTask
, NodeVariables: null
// identifica si el formulario está siendo visualizado desde un dispositivo móvil"
, isMobile: null
// ULA Framework"
, Ultimus: null
});
intellisense.annotate(window, Ultimus);