{{ # La variable _D_btnCfg es usada para definir el boton y debe tener la siguiente estructura # s_permissionCode: Código del boton, usado para indicar la acción # s_permissionLabel: Descripción o hint a mostrar en el boton # s_permissionIcon: Icono de glypicons que se mostrará para el botón # s_type: Especifica si es: # - button: en caso de ser boton principal en la parte superior del tab # - permission: en caso de ser solamente un permiso # - buttonAdd: en caso de ser un boton adicional manejado por la forma en su contenido # - other: en caso de un elemento hidden con las propiedades para su uso en el contenido de la forma # L_enabledByView: Especifica si el boton esta enable o no dependiendo del estado. Si el argumento es True, se muestra el boton # booleano que regrese. Se le mandará como parámetro el objeto tab y el codigo del boton. Verificar opciones a través de la función # request.stv_fwk_permissions.getHtmlClassForViews # D_actions: Diccionario con acciones posibles en el boton. El índice puede ser uno de los siguientes y sus parámetros son como se define # a continuación: # > 'modal': despliegua una pantalla modal y usa sUrl para actualizar su contenido, sElementId es el ID del elemento a mostrar # > s_url: Url a utilizar al presionar el boton, agregando el id del registro seleccionado o seleccionados en la pantalla activa # > s_field: Opcionalmente puede especificar el campo a enviar en el URL como argumento adicional # > 'swap': intercambia el boton dependiendo del valor de s_field o fn_swap. Nota solo un boton debe tener la configuración # swap, el otro boton se ajustará automáticamente # > s_field: nombre del campo que se evaluará # > s_value: valor que se usará en la evaluación # > sfn_evaluate: nombre de la función en Javascript que regresara True para configurar el boton o false para desconfigurarlo # > s_permissionCodeLinked: código del boton que se desplegará en vez de el boton actual si la evaluación de s_field es True # > 'js': executa la acción de javascript # > sfn_onPress: función en js a ejecutar cuando el boton es presionado, antes de ejecutar el script normal asociado por el framework al boton # > sfn_onSuccess: función en js a ejecutar cuando el ajax regresa el resultado # > sfn_onError: función en js a ejecutar en caso de error en la llamda ajax # L_options: Configura el boton como selección multiple. Para cada opción especificar lo siguiente como Storage # > s_optionCode: especifica el código a agregar al s_permissionCode + '_' + s_code # > s_optionLabel: etiqueta a mostrar para la opción, si no esta definido se mostrará un separador # > s_optionIcon: opcionalmente especifica el icono a desplegar # > L_enabledByView: especifica si la opción se muestra como enabled o disabled, misma definición que parametro con mismo nombre # > D_actions: especifica si la opción se muestra como enabled o disabled, misma definición que parametro con mismo nombre if (_D_btnCfg) and (_D_btnCfg.s_type == _s_selectType): _s_classView = ( "stv_visible " + request.stv_fwk_permissions.getHtmlClassForViews(_D_btnCfg.L_enabledByView) ) _s_classAdditional = "" _s_dataToggle = "" # Si el boton de tiene opciones configuradas ... if (_D_btnCfg.L_options and (len(_D_btnCfg.L_options) > 0)): _s_classAdditional = ' dropdown-toggle ' _s_dataToggle = 'dropdown' else: pass if ('swap' in _D_btnCfg.D_actions) and _D_btnCfg.D_actions.swap: _s_classAdditional += " stv_btnFunc_swap " else: pass if ('js' in _D_btnCfg.D_actions) and _D_btnCfg.D_actions.js: if ('sfn_onConfigureView' in _D_btnCfg.D_actions.js) and _D_btnCfg.D_actions.js.sfn_onConfigureView: _s_classAdditional += " stv_btnFunc_onConfigureView " else: pass else: pass if ('modal' in _D_btnCfg.D_actions) and _D_btnCfg.D_actions.modal: _s_classAdditional += " stv_btnFunc_modal " else: pass if ('confirm' in _D_btnCfg.D_actions) and _D_btnCfg.D_actions.confirm: _s_classAdditional += " stv_btnFunc_confirm " else: pass }}