1 | <?php |
||||
2 | /** |
||||
3 | * KumbiaPHP web & app Framework |
||||
4 | * |
||||
5 | * LICENSE |
||||
6 | * |
||||
7 | * This source file is subject to the new BSD license that is bundled |
||||
8 | * with this package in the file LICENSE. |
||||
9 | * |
||||
10 | * @category KumbiaPHP |
||||
11 | * @package Helpers |
||||
12 | * |
||||
13 | * @copyright Copyright (c) 2005 - 2023 KumbiaPHP Team (http://www.kumbiaphp.com) |
||||
14 | * @license https://github.com/KumbiaPHP/KumbiaPHP/blob/master/LICENSE New BSD License |
||||
15 | */ |
||||
16 | |||||
17 | /** |
||||
18 | * Helper que utiliza Javascript |
||||
19 | * |
||||
20 | * @category KumbiaPHP |
||||
21 | * @package Helpers |
||||
22 | */ |
||||
23 | class Js |
||||
24 | { |
||||
25 | /** |
||||
26 | * Javascripts que son requisito de otros |
||||
27 | * |
||||
28 | * @var array |
||||
29 | * */ |
||||
30 | protected static $_dependencies = array(); |
||||
31 | |||||
32 | /** |
||||
33 | * Javascript |
||||
34 | * |
||||
35 | * @var array |
||||
36 | * */ |
||||
37 | protected static $_js = array(); |
||||
38 | |||||
39 | /** |
||||
40 | * Directorio Javascript |
||||
41 | * |
||||
42 | * @var array |
||||
43 | * */ |
||||
44 | protected static $js_dir = 'javascript/'; |
||||
45 | |||||
46 | /** |
||||
47 | * Crea un enlace en una Aplicacion con mensaje de confirmacion respetando |
||||
48 | * las convenciones de Kumbia |
||||
49 | * |
||||
50 | * @param string $action ruta a la accion |
||||
51 | * @param string $text texto a mostrar |
||||
52 | * @param string $confirm mensaje de confirmacion |
||||
53 | * @param string $class clases adicionales para el link |
||||
54 | * @param string|array $attrs atributos adicionales |
||||
55 | * @return string |
||||
56 | */ |
||||
57 | public static function link($action, $text, $confirm = '¿Está Seguro?', $class = '', $attrs = '') |
||||
58 | { |
||||
59 | $attrs = Tag::getAttrs($attrs); |
||||
60 | return '<a href="' . PUBLIC_PATH . "$action\" data-msg=\"$confirm\" class=\"js-confirm $class\" $attrs>$text</a>"; |
||||
61 | } |
||||
62 | |||||
63 | /** |
||||
64 | * Crea un enlace a una accion con mensaje de confirmacion respetando |
||||
65 | * las convenciones de Kumbia |
||||
66 | * |
||||
67 | * @param string $action accion |
||||
68 | * @param string $text texto a mostrar |
||||
69 | * @param string $confirm mensaje de confirmacion |
||||
70 | * @param string $class clases adicionales para el link |
||||
71 | * @param string|array $attrs atributos adicionales |
||||
72 | * @return string |
||||
73 | */ |
||||
74 | public static function linkAction($action, $text, $confirm = '¿Está Seguro?', $class = '', $attrs = '') |
||||
75 | { |
||||
76 | $attrs = Tag::getAttrs($attrs); |
||||
77 | return '<a href="' . PUBLIC_PATH . Router::get('controller_path') . "/$action\" data-msg=\"$confirm\" class=\"js-confirm $class\" $attrs>$text</a>"; |
||||
78 | } |
||||
79 | |||||
80 | /** |
||||
81 | * Crea un boton submit con mensaje de confirmacion respetando |
||||
82 | * las convenciones de Kumbia |
||||
83 | * |
||||
84 | * @param string $text texto a mostrar |
||||
85 | * @param string $confirm mensaje de confirmacion |
||||
86 | * @param string $class clases adicionales para el link |
||||
87 | * @param string|array $attrs atributos adicionales |
||||
88 | * @return string |
||||
89 | */ |
||||
90 | public static function submit($text, $confirm = '¿Está Seguro?', $class = '', $attrs = '') |
||||
91 | { |
||||
92 | $attrs = Tag::getAttrs($attrs); |
||||
93 | return "<input type=\"submit\" value=\"$text\" data-msg=\"$confirm\" class=\"js-confirm $class\" $attrs/>"; |
||||
94 | } |
||||
95 | |||||
96 | /** |
||||
97 | * Crea un boton de tipo imagen |
||||
98 | * |
||||
99 | * @param string $img |
||||
100 | * @param string $class clases adicionales para el link |
||||
101 | * @param string|array $attrs atributos adicionales |
||||
102 | * @return string |
||||
103 | */ |
||||
104 | public static function submitImage($img, $confirm = '¿Está Seguro?', $class = '', $attrs = '') |
||||
105 | { |
||||
106 | $attrs = Tag::getAttrs($attrs); |
||||
107 | return "<input type=\"image\" data-msg=\"$confirm\" src=\"" . PUBLIC_PATH . "img/$img\" class=\"js-confirm $class\" $attrs/>"; |
||||
108 | } |
||||
109 | |||||
110 | /** |
||||
111 | * Añade un archivo Javascript para ser incluido en el template |
||||
112 | * |
||||
113 | * @param string $file nombre del archivo a añadir |
||||
114 | * @param array $dependencies archivos que son requisito del archivo a añadir |
||||
115 | */ |
||||
116 | public static function add( $file, $dependencies=array() ) |
||||
117 | { |
||||
118 | self::$_js[$file] = $file; |
||||
119 | foreach ($dependencies as $file) self::$_dependencies[$file] = $file; |
||||
0 ignored issues
–
show
introduced
by
Loading history...
|
|||||
120 | } |
||||
121 | |||||
122 | /** |
||||
123 | * Incluye todos los archivo Javascript en el template añadidos con el metodo add |
||||
124 | * |
||||
125 | * @return string |
||||
126 | */ |
||||
127 | public static function inc() |
||||
128 | { |
||||
129 | $js = self::$_dependencies + self::$_js; |
||||
130 | $html = ''; |
||||
131 | foreach ($js as $file) |
||||
132 | { |
||||
133 | $html .= '<script type="text/javascript" src="' . PUBLIC_PATH . self::$js_dir . "$file.js" . '"></script>'; |
||||
0 ignored issues
–
show
Are you sure
self::js_dir of type array can be used in concatenation ?
(
Ignorable by Annotation
)
If this is a false-positive, you can also ignore this issue in your code via the
Loading history...
|
|||||
134 | } |
||||
135 | return $html; |
||||
136 | } |
||||
137 | } |
||||
138 |