How to use dblclick method in Playwright Internal

Best JavaScript code snippet using playwright-internal

Run Playwright Internal automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

mouse_dblclick.py

Source: mouse_dblclick.py Github

copy
1import pytest
2
3from tests.actions.support.mouse import assert_move_to_coordinates, get_center
4from tests.actions.support.refine import get_events, filter_dict
5
6
7_DBLCLICK_INTERVAL = 640
8
9
10# Using local fixtures because we want to start a new session between
11# each test, otherwise the clicks in each test interfere with each other.
12@pytest.fixture(autouse=True)
13def release_actions(dblclick_session, request):
14    # release all actions after each test
15    # equivalent to a teardown_function, but with access to session fixture
16    request.addfinalizer(dblclick_session.actions.release)
17
18
19@pytest.fixture
20def dblclick_session(new_session, url, add_browser_capabilites):
21    _, session = new_session({"capabilities": {"alwaysMatch": add_browser_capabilites({})}})
22    session.url = url("/webdriver/tests/actions/support/test_actions_wdspec.html")
23
24    return session
25
26
27@pytest.fixture
28def mouse_chain(dblclick_session):
29    return dblclick_session.actions.sequence(
30        "pointer",
31        "pointer_id",
32        {"pointerType": "mouse"})
33
34
35@pytest.mark.parametrize("click_pause", [0, 200])
36def test_dblclick_at_coordinates(dblclick_session, mouse_chain, click_pause):
37    div_point = {
38        "x": 82,
39        "y": 187,
40    }
41    mouse_chain \
42        .pointer_move(div_point["x"], div_point["y"]) \
43        .click() \
44        .pause(click_pause) \
45        .click() \
46        .perform()
47    events = get_events(dblclick_session)
48    assert_move_to_coordinates(div_point, "outer", events)
49    expected = [
50        {"type": "mousedown", "button": 0},
51        {"type": "mouseup", "button": 0},
52        {"type": "click", "button": 0},
53        {"type": "mousedown", "button": 0},
54        {"type": "mouseup", "button": 0},
55        {"type": "click", "button": 0},
56        {"type": "dblclick", "button": 0},
57    ]
58    assert len(events) == 8
59    filtered_events = [filter_dict(e, expected[0]) for e in events]
60    assert expected == filtered_events[1:]
61
62
63def test_dblclick_with_pause_after_second_pointerdown(dblclick_session, mouse_chain):
64        outer = dblclick_session.find.css("#outer", all=False)
65        center = get_center(outer.rect)
66        mouse_chain \
67            .pointer_move(int(center["x"]), int(center["y"])) \
68            .click() \
69            .pointer_down() \
70            .pause(_DBLCLICK_INTERVAL + 10) \
71            .pointer_up() \
72            .perform()
73        events = get_events(dblclick_session)
74        expected = [
75            {"type": "mousedown", "button": 0},
76            {"type": "mouseup", "button": 0},
77            {"type": "click", "button": 0},
78            {"type": "mousedown", "button": 0},
79            {"type": "mouseup", "button": 0},
80            {"type": "click", "button": 0},
81            {"type": "dblclick", "button": 0},
82        ]
83        assert len(events) == 8
84        filtered_events = [filter_dict(e, expected[0]) for e in events]
85        assert expected == filtered_events[1:]
86
87
88def test_no_dblclick(dblclick_session, mouse_chain):
89        outer = dblclick_session.find.css("#outer", all=False)
90        center = get_center(outer.rect)
91        mouse_chain \
92            .pointer_move(int(center["x"]), int(center["y"])) \
93            .click() \
94            .pause(_DBLCLICK_INTERVAL + 10) \
95            .click() \
96            .perform()
97        events = get_events(dblclick_session)
98        expected = [
99            {"type": "mousedown", "button": 0},
100            {"type": "mouseup", "button": 0},
101            {"type": "click", "button": 0},
102            {"type": "mousedown", "button": 0},
103            {"type": "mouseup", "button": 0},
104            {"type": "click", "button": 0},
105        ]
106        assert len(events) == 7
107        filtered_events = [filter_dict(e, expected[0]) for e in events]
108        assert expected == filtered_events[1:]
109
Full Screen

myGrid.js

Source: myGrid.js Github

copy
1√Į¬Ľ¬Ņdefine([
2    "dojo/_base/declare",
3    "dojo/_base/lang",
4    "dojo/dom-construct",
5    "dojo/Stateful",
6    "dstore/Memory",
7    "dgrid/OnDemandGrid",
8    "dgrid/ColumnSet",
9    'dgrid/extensions/DijitRegistry',
10    "dgrid/Selection",
11    "dgrid/Editor",
12    "dgrid/Keyboard",
13    "dojo/dom-style",
14    "dijit/form/ValidationTextBox",
15    "dijit/form/CheckBox",
16    "dijit/form/DateTextBox",
17    "myApp/widget/helper/NominaGridHelper.js",
18    "myApp/widget/EmpleadoValidoWidget.js",
19   "dojo/domReady!"
20], function (
21    declare,
22    lang,
23    domConstruct,
24    Stateful,
25    Memory,
26    OnDemandGrid,
27    ColumnSet,
28    DijitRegistry,
29    Selection,
30    Editor,
31    Keyboard,
32    domStyle,
33    ValidationTextBox,
34    CheckBox,
35    DateTextBox,
36    NominaGridHelper,
37    EmpleadoValidoWidget
38) {
39    return declare([Stateful,OnDemandGrid, ColumnSet, DijitRegistry, Selection, Editor, Keyboard], {
40
41        collection: null,//Al inicio la collection sera null.
42        original: null,
43        /**
44         * La colección original servira para realizar las busquedas 
45         * sobre ella sin modificarla.
46         * **/
47        validCollection: new Memory({
48            idProperty: 'identifier'
49        }),//Contendra los registros que sean invalidos
50        invalidCollection: new Memory({
51            idProperty: 'identifier'
52        }),//Contendra los registros que sean invalidos
53        postscript: function (kwargs) {
54            this.inherited(arguments);
55            // do your postscript stuff
56            // ...
57            this.watch("original", function (a, b, c) { debugger; alert("asdf") })
58            
59        },
60        constructor: function (arguments) {
61            lang.mixin(this, arguments);
62                /**
63                La línea anterior permite manipular los objetos que se
64                pasan como argumentos en el constructo.
65                */
66        },
67        _originalSetter: function (value) { this.original = value },
68        _originalGetter: function () { return this.original },
69        _collectionSetter: function (value) { this.collection = value },
70        _collectionGetter: function () { return this.collection },
71        
72        _invalidCollectionSetter: function (value) { this.invalidCollection = value },
73        _invalidCollectionGetter: function () { return this.invalidCollection },
74        
75        _validCollectionSetter: function (value) { this.validCollection = value },
76        _validCollectionGetter: function () { return this.validCollection },
77       
78
79        validarContenidoDeCeldas: function () {
80            /***Se ejecutara este método cuando se de click al boton de emitir***/
81
82                    /**
83             * Se enviara todo el grid para poder realizar las
84             * validaciones de cada celda.
85             * 
86             **/
87            
88            
89            var collection = this.get("collection");
90            /**El primer foreach lo que hace es ponerle la bandera isValid=true**/
91            var store = this.get("store");
92            var filter = new collection.Filter();//Se crea un filtro nuevo
93            var filtroValido = filter.eq('isValid.bandera', true);
94            var filtroInvalido = filter.eq('isValid.bandera', false);
95            var validos = collection.filter(filtroValido);
96            var invalidos = collection.filter(filtroInvalido);
97            //this.set("collection", collection.filter({ NumEmpleado: 1222 }))
98            //collection.filter({NumEmpleado:1222})
99            this.set('collection', invalidos);
100            var context = this;
101
102            domConstruct.empty("panelValidosId");
103            domConstruct.empty("panelNoValidosId");
104            /**
105             * Limpia los hijos de los paneles que corresponden a los
106             * valios y a los invalidos.
107             * **/
108            var context = this;
109            
110            validos.forEach(lang.hitch(this,function (object) {
111                
112                this.get("validCollection").put(object);
113                
114            }));
115            this.get("validCollection").forEach(lang.hitch(this, function (object) {
116                var valido = new EmpleadoValidoWidget({
117                    grid: context,
118                    id: "id" + object.NumEmpleado,
119                    NumEmpleado: object.NumEmpleado,
120                    isValid: object.isValid.bandera
121                });
122                this.principal.contentPaneValidos.addChild(valido);
123
124            }));
125            invalidos.forEach(lang.hitch(this, function (object) {
126                this.get("invalidCollection").put(object);
127                var noValido = new EmpleadoValidoWidget({
128                    NumEmpleado: object.NumEmpleado,
129                    error: object.isValid.codError,
130                    grid: this
131                });
132                this.principal.contentPaneInvalidos.addChild(noValido)
133                
134                
135            }));
136            
137
138        },
139        columnSets://Esta propiedad se encarga de crear las columnSets dentro del grid.
140            [
141                [
142                    [
143                        NominaGridHelper.formatoColumn({ field: 'NumEmpleado', label: 'Clave' }),
144                        NominaGridHelper.formatoColumn({ field: 'Nombre', label: 'Nombre' }),
145                        NominaGridHelper.formatoMontoColumn({ field: 'Antiguedad', label: 'Antig√ɬľedad', editor: 'text', editOn: 'dblclick' }),
146                    ]
147                ],
148                [
149
150                    [//Inicio del segundo ColumnSet
151                        NominaGridHelper.formatoColumn({ field: 'FechaPago', label: "Fecha", editor: DateTextBox, editOn: 'dblclick', autoSave: true, editorArgs: { style: "width:100px;", constraints: { datePattern: 'yyyy/MM/dd' } } }),
152
153                        NominaGridHelper.formatoColumn({ field: 'FechaInicialPago', label: "Fecha Inicio" }),
154
155                        NominaGridHelper.formatoColumn({ field: 'FechaFinalPago', label: "Fecha Fin" }),
156
157                        NominaGridHelper.formatoColumn({ field: 'NumDiasPagados', label: "Dias Pagados" }),
158
159                        NominaGridHelper.formatoColumn({ field: 'Banco', label: "Banco", }),
160
161                        NominaGridHelper.formatoColumn({ field: 'Clabe', label: "Clabe" }),
162
163                        NominaGridHelper.formatoColumn({ field: 'Monto', label: "Monto", editor: ValidationTextBox, editOn: 'dblclick', autoSave: true, editorArgs: { style: "width:110px", regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})' } })
164
165                        ,
166
167                        NominaGridHelper.formatoMontoColumn({ field: 'Sueldo_Gravado', editor: ValidationTextBox, editOn: 'dblclick', autoSave: true, editorArgs: { style: "width:110px", regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})' }, label: "Gravado" }),// Sueldo Gravado
168
169                        NominaGridHelper.formatoMontoColumn({ field: 'Sueldo_Exento', label: "Exento", editor: ValidationTextBox, editOn: 'dblclick', autoSave: true, editorArgs: { style: "width:110px", regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})' } }),//Sueldo Exento
170
171                        NominaGridHelper.formatoMontoColumn({field: 'Aguinaldo_Gravado',label: "Gravado",editor: ValidationTextBox,editOn: 'dblclick',autoSave: true,editorArgs: {style: "width:110px",regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'}}),//Aguinaldo_Gravado
172
173                        NominaGridHelper.formatoMontoColumn({ field: 'Aguinaldo_Exento', label: "Exento", editor: ValidationTextBox, editOn: 'dblclick', autoSave: true, editorArgs: { style: "width:110px", regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})' } }),//Aguinaldo Exento
174
175                        NominaGridHelper.formatoMontoColumn({ field: 'PTU_Gravado', label: "Gravado", editor: ValidationTextBox, editOn: 'dblclick', autoSave: true, editorArgs: { style: "width:110px", regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})' } }),//PTU Gravado
176
177                        NominaGridHelper.formatoMontoColumn({ field: 'PTU_Exento', label: "Exento", editor: ValidationTextBox, editOn: 'dblclick', autoSave: true, editorArgs: { style: "width:110px", regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})' } }),//PTU_Exento
178
179
180                        NominaGridHelper.formatoMontoColumn({ field: 'RGMDyH_Gravado', label: "Gravado", editor: ValidationTextBox, editOn: 'dblclick', autoSave: true, editorArgs: { style: "width:110px", regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})' } }),//Reembolso de Gastos Medicos dentales y hospitalarios Gravado.
181
182                        NominaGridHelper.formatoMontoColumn({ field: 'RGMDyH_Exento', label: "Exento", editor: ValidationTextBox, editOn: 'dblclick', autoSave: true, editorArgs: { style: "width:110px", regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})' } }),
183
184                        NominaGridHelper.formatoMontoColumn({
185                            field: 'FDA_Gravado',
186                            label: "Gravado",
187                            editor: ValidationTextBox,
188                            editOn: 'dblclick',
189                            autoSave: true,
190                            editorArgs: {
191                                style: "width:110px",
192                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
193                            }
194                        }),
195                        NominaGridHelper.formatoMontoColumn(
196                        {
197                            field: 'FDA_Exento',
198                            label: "Exento",
199                            editor: ValidationTextBox,
200                            editOn: 'dblclick',
201                            autoSave: true,
202                            editorArgs: {
203                                style: "width:110px",
204                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
205                            }
206                            }),
207
208                        NominaGridHelper.formatoMontoColumn({
209                            field: 'CDA_Gravado',
210                            label: "Gravado",
211                            editor: ValidationTextBox,
212                            editOn: 'dblclick',
213                            autoSave: true,
214                            editorArgs: {
215                                style: "width:110px",
216                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
217                            }
218                        }),
219
220                        NominaGridHelper.formatoMontoColumn({
221                            field: 'CDA_Exento',
222                            label: "Exento",
223                            editor: ValidationTextBox,
224                            editOn: 'dblclick',
225                            autoSave: true,
226                            editorArgs: {
227                                style: "width:110px",
228                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
229                            }
230                        }),
231
232                        NominaGridHelper.formatoMontoColumn({
233                            field: 'CCTPP_Gravado',
234                            label: "Gravado",
235                            editor: ValidationTextBox,
236                            editOn: 'dblclick',
237                            autoSave: true,
238                            editorArgs: {
239                                style: "width:110px",
240                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
241                            }
242                        }),
243                        NominaGridHelper.formatoMontoColumn({
244                            field: 'CCTPP_Exento',
245                            label: "Exento",
246                            editor: ValidationTextBox,
247                            editOn: 'dblclick',
248                            autoSave: true,
249                            editorArgs: {
250                                style: "width:110px",
251                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
252                            }
253                        }),
254                        NominaGridHelper.formatoMontoColumn({
255                            field: 'PP_Gravado',
256                            label: "Gravado",
257                            editor: ValidationTextBox,
258                            editOn: 'dblclick',
259                            autoSave: true,
260                            editorArgs: {
261                                style: "width:110px",
262                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
263                            }
264                        }),//Premio de Puntualidad
265                        NominaGridHelper.formatoMontoColumn({
266                            field: 'PP_Exento',
267                            label: "Exento",
268                            editor: ValidationTextBox,
269                            editOn: 'dblclick',
270                            autoSave: true,
271                            editorArgs: {
272                                style: "width:110px",
273                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
274                            }
275                        }),//Premio de Puntualidad
276                        NominaGridHelper.formatoMontoColumn({
277                            field: 'PSV_Gravado',
278                            label: "Gravado",
279                            editor: ValidationTextBox,
280                            editOn: 'dblclick',
281                            autoSave: true,
282                            editorArgs: {
283                                style: "width:110px",
284                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
285                            }
286                        }),//Prima de Seguro de vida
287                        NominaGridHelper.formatoMontoColumn({
288                            field: 'PSV_Exento',
289                            label: "Exento",
290                            editor: ValidationTextBox,
291                            editOn: 'dblclick',
292                            autoSave: true,
293                            editorArgs: {
294                                style: "width:110px",
295                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
296                            }
297                        }),//Prima de Seguro de vida
298                        NominaGridHelper.formatoMontoColumn({
299                            field: 'SGMM_Gravado',
300                            label: "Gravado",
301                            editor: ValidationTextBox,
302                            editOn: 'dblclick',
303                            autoSave: true,
304                            editorArgs: {
305                                style: "width:110px",
306                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
307                            }
308                        }),//Seguro de Gastos Médicos Mayores
309                        NominaGridHelper.formatoMontoColumn({
310                            field: 'SGMM_Exento',
311                            label: "Exento",
312                            editor: ValidationTextBox,
313                            editOn: 'dblclick',
314                            autoSave: true,
315                            editorArgs: {
316                                style: "width:110px",
317                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
318                            }
319                        }),//Seguro de Gastos Médicos Mayores
320
321                        NominaGridHelper.formatoMontoColumn({
322                            field: 'CSPPP_Gravado',
323                            label: "Gravado",
324                            editor: ValidationTextBox,
325                            editOn: 'dblclick',
326                            autoSave: true,
327                            editorArgs: {
328                                style: "width:110px",
329                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
330                            }
331                        }),//Cuotas Sindicales Pagadas por el patron
332                        NominaGridHelper.formatoMontoColumn({
333                            field: 'CSPPP_Exento',
334                            label: "Exento",
335                            editor: ValidationTextBox,
336                            editOn: 'dblclick',
337                            autoSave: true,
338                            editorArgs: {
339                                style: "width:110px",
340                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
341                            }
342                        }),//Cuotas Sindicales Pagadas por el patron
343                        NominaGridHelper.formatoMontoColumn({
344                            field: 'SPI_Gravado',
345                            label: "Gravado",
346                            editor: ValidationTextBox,
347                            editOn: 'dblclick',
348                            autoSave: true,
349                            editorArgs: {
350                                style: "width:110px",
351                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
352                            }
353                        }),//Subsidios por incapacidad
354                        NominaGridHelper.formatoMontoColumn({
355                            field: 'SPI_Exento',
356                            label: "Exento",
357                            editor: ValidationTextBox,
358                            editOn: 'dblclick',
359                            autoSave: true,
360                            editorArgs: {
361                                style: "width:110px",
362                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
363                            }
364                        }),//Subsidios por incapacidad
365                        NominaGridHelper.formatoMontoColumn({
366                            field: 'Becas_Gravado',
367                            label: "Gravado",
368                            editor: ValidationTextBox,
369                            editOn: 'dblclick',
370                            autoSave: true,
371                            editorArgs: {
372                                style: "width:110px",
373                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
374                            }
375                        }),//Becas
376                        NominaGridHelper.formatoMontoColumn({
377                            field: 'Becas_Exento',
378                            label: "Exento",
379                            editor: ValidationTextBox,
380                            editOn: 'dblclick',
381                            autoSave: true,
382                            editorArgs: {
383                                style: "width:110px",
384                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
385                            }
386                        }),//Becas
387                        NominaGridHelper.formatoMontoColumn({
388                            field: 'HE_Gravado',
389                            label: "Gravado",
390                            editor: ValidationTextBox,
391                            editOn: 'dblclick',
392                            autoSave: true,
393                            editorArgs: {
394                                style: "width:110px",
395                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
396                            },
397                            renderCell: function (object, data, td, options) {
398                                concatenarError(object, data, 0, "HE_Gravado");
399                                return formatoDivTotal(data, td);
400                            },
401                            renderHeaderCell: function (node) {
402                                return formatoHeader(node, 2, "Gravado", domStyle);//Bandera 2 para deducciones
403                            }
404                        }),//Horas Extra
405                        NominaGridHelper.formatoMontoColumn({
406                            field: 'HE_Exento',
407                            label: "Exento",
408                            editor: ValidationTextBox,
409                            editOn: 'dblclick',
410                            autoSave: true,
411                            editorArgs: {
412                                style: "width:110px",
413                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
414                            }
415                        }),//Horas Extra
416                        NominaGridHelper.formatoMontoColumn({
417                            field: 'PrimaD_Gravado',
418                            label: "Gravado",
419                            editor: ValidationTextBox,
420                            editOn: 'dblclick',
421                            autoSave: true,
422                            editorArgs: {
423                                style: "width:110px",
424                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
425                            }
426                        }),//Prima Dominical
427                        NominaGridHelper.formatoMontoColumn({
428                            field: 'PrimaD_Exento',
429                            label: "Exento",
430                            editor: ValidationTextBox,
431                            editOn: 'dblclick',
432                            autoSave: true,
433                            editorArgs: {
434                                style: "width:110px",
435                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
436                            }
437                        }),//Prima Dominical
438                        NominaGridHelper.formatoMontoColumn({
439                            field: 'PrimaV_Gravado',
440                            label: "Gravado",
441                            editor: ValidationTextBox,
442                            editOn: 'dblclick',
443                            autoSave: true,
444                            editorArgs: {
445                                style: "width:110px",
446                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
447                            }
448                        }),//Prima Vacacional
449                        NominaGridHelper.formatoMontoColumn({
450                            field: 'PrimaV_Exento',
451                            label: "Exento",
452                            editor: ValidationTextBox,
453                            editOn: 'dblclick',
454                            autoSave: true,
455                            editorArgs: {
456                                style: "width:110px",
457                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
458                            }
459                        }),//Prima Vacacional
460                        NominaGridHelper.formatoMontoColumn({
461                            field: 'PrimaA_Gravado',
462                            label: "Gravado",
463                            editor: ValidationTextBox,
464                            editOn: 'dblclick',
465                            autoSave: true,
466                            editorArgs: {
467                                style: "width:110px",
468                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
469                            }
470                        }),//Prima Antig√ɬľead
471                        NominaGridHelper.formatoMontoColumn({
472                            field: 'PrimaA_Exento',
473                            label: "Exento",
474                            editor: ValidationTextBox,
475                            editOn: 'dblclick',
476                            autoSave: true,
477                            editorArgs: {
478                                style: "width:110px",
479                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
480                            }
481                        }),//Prima Antig√ɬľedad
482                        NominaGridHelper.formatoMontoColumn({
483                            field: 'PPS_Gravado',
484                            label: "Gravado",
485                            editor: ValidationTextBox,
486                            editOn: 'dblclick',
487                            autoSave: true,
488                            editorArgs: {
489                                style: "width:110px",
490                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
491                            }
492                        }),//Pagos por Separación
493                        NominaGridHelper.formatoMontoColumn({
494                            field: 'PPS_Exento',
495                            label: "Exento",
496                            editor: ValidationTextBox,
497                            editOn: 'dblclick',
498                            autoSave: true,
499                            editorArgs: {
500                                style: "width:110px",
501                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
502                            }
503                        }),//Pagos por Separación
504                        NominaGridHelper.formatoMontoColumn({
505                            field: 'SDR_Gravado',
506                            label: "Gravado",
507                            editor: ValidationTextBox,
508                            editOn: 'dblclick',
509                            autoSave: true,
510                            editorArgs: {
511                                style: "width:110px",
512                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
513                            }
514                        }),//Seguro de retiro
515                        NominaGridHelper.formatoMontoColumn({
516                            field: 'SDR_Exento',
517                            label: "Exento",
518                            editor: ValidationTextBox,
519                            editOn: 'dblclick',
520                            autoSave: true,
521                            editorArgs: {
522                                style: "width:110px",
523                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
524                            }
525                        }),//Seguro de retiro
526                        NominaGridHelper.formatoMontoColumn({
527                            field: 'Indeminizaciones_Gravado',
528                            label: "Gravado",
529                            editor: ValidationTextBox,
530                            editOn: 'dblclick',
531                            autoSave: true,
532                            editorArgs: {
533                                style: "width:110px",
534                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
535                            }
536                        }),//Indeminizaciones
537                        NominaGridHelper.formatoMontoColumn({
538                            field: 'Indeminizaciones_Exento',
539                            label: "Exento",
540                            editor: ValidationTextBox,
541                            editOn: 'dblclick',
542                            autoSave: true,
543                            editorArgs: {
544                                style: "width:110px",
545                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
546                            }
547                        }),//Indeminizaciones
548                        NominaGridHelper.formatoMontoColumn({
549                            field: 'RPF_Gravado',
550                            label: "Gravado",
551                            editor: ValidationTextBox,
552                            editOn: 'dblclick',
553                            autoSave: true,
554                            editorArgs: {
555                                style: "width:110px",
556                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
557                            }
558                        }),//Reembolso por funeral
559                        NominaGridHelper.formatoMontoColumn({
560                            field: 'RPF_Exento',
561                            label: "Exento",
562                            editor: ValidationTextBox,
563                            editOn: 'dblclick',
564                            autoSave: true,
565                            editorArgs: {
566                                style: "width:110px",
567                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
568                            }
569                        }),//Reembolso por funeral
570                        NominaGridHelper.formatoMontoColumn({
571                            field: 'CDSSPPP_Gravado',
572                            label: "Gravado",
573                            editor: ValidationTextBox,
574                            editOn: 'dblclick',
575                            autoSave: true,
576                            editorArgs: {
577                                style: "width:110px",
578                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
579                            }
580                        }),//Cuotas de seguridad social pagadas por el patrón
581                        NominaGridHelper.formatoMontoColumn({
582                            field: 'CDSSPPP_Exento',
583                            label: "Exento",
584                            editor: ValidationTextBox,
585                            editOn: 'dblclick',
586                            autoSave: true,
587                            editorArgs: {
588                                style: "width:110px",
589                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
590                            }
591                        }),//Cuotas de seguridad social pagadas por el patrón
592                        NominaGridHelper.formatoMontoColumn({
593                            field: 'Comisiones_Gravado',
594                            label: "Gravado",
595                            editor: ValidationTextBox,
596                            editOn: 'dblclick',
597                            autoSave: true,
598                            editorArgs: {
599                                style: "width:110px",
600                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
601                            }
602                        }),//Comisiones
603                        NominaGridHelper.formatoMontoColumn({
604                            field: 'Comisiones_Exento',
605                            label: "Exento",
606                            editor: ValidationTextBox,
607                            editOn: 'dblclick',
608                            autoSave: true,
609                            editorArgs: {
610                                style: "width:110px",
611                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
612                            }
613                        }),//Comisiones
614                        NominaGridHelper.formatoMontoColumn({
615                            field: 'ValesD_Gravado',
616                            label: "Gravado",
617                            editor: ValidationTextBox,
618                            editOn: 'dblclick',
619                            autoSave: true,
620                            editorArgs: {
621                                style: "width:110px",
622                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
623                            }
624                        }),//Vales de Despensa
625                        NominaGridHelper.formatoMontoColumn({
626                            field: 'ValesD_Exento',
627                            label: "Exento",
628                            editor: ValidationTextBox,
629                            editOn: 'dblclick',
630                            autoSave: true,
631                            editorArgs: {
632                                style: "width:110px",
633                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
634                            }
635                        }),//Vales de Despensa
636                        NominaGridHelper.formatoMontoColumn({
637                            field: 'ValesR_Gravado',
638                            label: "Gravado",
639                            editor: ValidationTextBox,
640                            editOn: 'dblclick',
641                            autoSave: true,
642                            editorArgs: {
643                                style: "width:110px",
644                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
645                            }
646                        }),//Vales de restaurante
647                        NominaGridHelper.formatoMontoColumn({
648                            field: 'ValesR_Exento',
649                            label: "Exento",
650                            editor: ValidationTextBox,
651                            editOn: 'dblclick',
652                            autoSave: true,
653                            editorArgs: {
654                                style: "width:110px",
655                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
656                            }
657                        }),//Vales de restaurante
658                        NominaGridHelper.formatoMontoColumn({
659                            field: 'ValesG_Gravado',
660                            label: "Gravado",
661                            editor: ValidationTextBox,
662                            editOn: 'dblclick',
663                            autoSave: true,
664                            editorArgs: {
665                                style: "width:110px",
666                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
667                            }
668                        }),//Vales de gasolina
669                        NominaGridHelper.formatoMontoColumn({
670                            field: 'ValesG_Exento',
671                            label: "Exento",
672                            editor: ValidationTextBox,
673                            editOn: 'dblclick',
674                            autoSave: true,
675                            editorArgs: {
676                                style: "width:110px",
677                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
678                            }
679                        }),//Vales de gasolina
680                        NominaGridHelper.formatoMontoColumn({
681                            field: 'ValesRopa_Gravado',
682                            label: "Gravado",
683                            editor: ValidationTextBox,
684                            editOn: 'dblclick',
685                            autoSave: true,
686                            editorArgs: {
687                                style: "width:110px",
688                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
689                            }
690                        }),//Vales de ropa
691                        NominaGridHelper.formatoMontoColumn({
692                            field: 'ValesRopa_Exento',
693                            label: "Exento",
694                            editor: ValidationTextBox,
695                            editOn: 'dblclick',
696                            autoSave: true,
697                            editorArgs: {
698                                style: "width:110px",
699                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
700                            }
701                        }),//Vales de ropa
702                        NominaGridHelper.formatoMontoColumn({
703                            field: 'AyudaRenta_Gravado',
704                            label: "Gravado",
705                            editor: ValidationTextBox,
706                            editOn: 'dblclick',
707                            autoSave: true,
708                            editorArgs: {
709                                style: "width:110px",
710                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
711                            }
712                        }),//Ayuda para renta
713                        NominaGridHelper.formatoMontoColumn({
714                            field: 'AyudaRenta_Exento',
715                            label: "Exento",
716                            editor: ValidationTextBox,
717                            editOn: 'dblclick',
718                            autoSave: true,
719                            editorArgs: {
720                                style: "width:110px",
721                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
722                            }
723                        }),//Ayuda para renta
724                        NominaGridHelper.formatoMontoColumn({
725                            field: 'AyudaEscolar_Gravado',
726                            label: "Gravado",
727                            editor: ValidationTextBox,
728                            editOn: 'dblclick',
729                            autoSave: true,
730                            editorArgs: {
731                                style: "width:110px",
732                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
733                            }
734                        }),//Ayuda para Articulos escolares
735                        NominaGridHelper.formatoMontoColumn({
736                            field: 'AyudaEscolar_Exento',
737                            label: "Exento",
738                            editor: ValidationTextBox,
739                            editOn: 'dblclick',
740                            autoSave: true,
741                            editorArgs: {
742                                style: "width:110px",
743                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
744                            }
745                        }),//Ayuda para Articulos escolares
746                        NominaGridHelper.formatoMontoColumn({
747                            field: 'AyudaAnteojos_Gravado',
748                            label: "Gravado",
749                            editor: ValidationTextBox,
750                            editOn: 'dblclick',
751                            autoSave: true,
752                            editorArgs: {
753                                style: "width:110px",
754                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
755                            }
756                        }),//Ayuda para Anteojos
757                        NominaGridHelper.formatoMontoColumn({
758                            field: 'AyudaAnteojos_Exento',
759                            label: "Exento",
760                            editor: ValidationTextBox,
761                            editOn: 'dblclick',
762                            autoSave: true,
763                            editorArgs: {
764                                style: "width:110px",
765                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
766                            }
767                        }),//Ayuda para Anteojos
768                        NominaGridHelper.formatoMontoColumn({
769                            field: 'AyudaTransporte_Gravado',
770                            label: "Gravado",
771                            editor: ValidationTextBox,
772                            editOn: 'dblclick',
773                            autoSave: true,
774                            editorArgs: {
775                                style: "width:110px",
776                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
777                            }
778                        }),//Ayuda para Transporte
779                        NominaGridHelper.formatoMontoColumn({
780                            field: 'AyudaTransporte_Exento',
781                            label: "Exento",
782                            editor: ValidationTextBox,
783                            editOn: 'dblclick',
784                            autoSave: true,
785                            editorArgs: {
786                                style: "width:110px",
787                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
788                            }
789                        }),//Ayuda para Transporte
790                        NominaGridHelper.formatoMontoColumn({
791                            field: 'AyudaGF_Gravado',
792                            label: "Gravado",
793                            editor: ValidationTextBox,
794                            editOn: 'dblclick',
795                            autoSave: true,
796                            editorArgs: {
797                                style: "width:110px",
798                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
799                            }
800                        }),//Ayuda para Gastos de funeral
801                        NominaGridHelper.formatoMontoColumn({
802                            field: 'AyudaGF_Exento',
803                            label: "Exento",
804                            editor: ValidationTextBox,
805                            editOn: 'dblclick',
806                            autoSave: true,
807                            editorArgs: {
808                                style: "width:110px",
809                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
810                            }
811                        }),//Ayuda para Gasto de funeral
812                        NominaGridHelper.formatoMontoColumn({
813                            field: 'OIPS_Gravado',
814                            label: "Gravado",
815                            editor: ValidationTextBox,
816                            editOn: 'dblclick',
817                            autoSave: true,
818                            editorArgs: {
819                                style: "width:110px",
820                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
821                            }
822                        }),//Otros ingresos por salario
823                        NominaGridHelper.formatoMontoColumn({
824                            field: 'OIPS_Exento',
825                            label: "Exento",
826                            editor: ValidationTextBox,
827                            editOn: 'dblclick',
828                            autoSave: true,
829                            editorArgs: {
830                                style: "width:110px",
831                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
832                            }
833                        }),//Otros ingresos por salario 
834                        NominaGridHelper.formatoMontoColumn({
835                            field: 'JPHDR_Gravado',
836                            label: "Gravado",
837                            editor: ValidationTextBox,
838                            editOn: 'dblclick',
839                            autoSave: true,
840                            editorArgs: {
841                                style: "width:110px",
842                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
843                            }
844                        }),//Jubilaciones, pensiones o haberes de retiro
845                        NominaGridHelper.formatoMontoColumn({
846                            field: 'JPHDR_Exento',
847                            label: "Exento",
848                            editor: ValidationTextBox,
849                            editOn: 'dblclick',
850                            autoSave: true,
851                            editorArgs: {
852                                style: "width:110px",
853                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
854                            }
855                        }),//Jubilaciones, pensiones o haberes de retiro
856                        NominaGridHelper.formatoMontoColumn({
857                            field: 'JPHDRParciales_Gravado',
858                            label: "Gravado",
859                            editor: ValidationTextBox,
860                            editOn: 'dblclick',
861                            autoSave: true,
862                            editorArgs: {
863                                style: "width:110px",
864                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
865                            }
866                        }),//Jubilaciones, pensiones o haberes de retiro parciales
867                        NominaGridHelper.formatoMontoColumn({
868                            field: 'JPHDRParciales_Exento',
869                            label: "Exento",
870                            editor: ValidationTextBox,
871                            editOn: 'dblclick',
872                            autoSave: true,
873                            editorArgs: {
874                                style: "width:110px",
875                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
876                            }
877                        }),//Jubilaciones, pensiones o haberes de retiro parciales
878                        NominaGridHelper.formatoMontoColumn({
879                            field: 'IEAOTV_Gravado',
880                            label: "Gravado",
881                            editor: ValidationTextBox,
882                            editOn: 'dblclick',
883                            autoSave: true,
884                            editorArgs: {
885                                style: "width:110px",
886                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
887                            }
888                        }),//Ingresos en acciones o títulos valor que representan bienes
889                        NominaGridHelper.formatoMontoColumn({
890                            field: 'IEAOTV_Exento',
891                            label: "Exento",
892                            editor: ValidationTextBox,
893                            editOn: 'dblclick',
894                            autoSave: true,
895                            editorArgs: {
896                                style: "width:110px",
897                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
898                            }
899                        }),//Ingresos en acciones o títulos valor que representan bienes
900                        NominaGridHelper.formatoColumn({
901                            field: 'IAAS_Gravado',
902                            label: "Gravado",
903                            editor: ValidationTextBox,
904                            editOn: 'dblclick',
905                            autoSave: true,
906                            editorArgs: {
907                                style: "width:110px",
908                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
909                            }
910                        }),//Ingresos asimilados a salarios
911                        NominaGridHelper.formatoMontoColumn({
912                            field: 'IAAS_Exento',
913                            label: "Exento",
914                            editor: ValidationTextBox,
915                            editOn: 'dblclick',
916                            autoSave: true,
917                            editorArgs: {
918                                style: "width:110px",
919                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
920                            }
921                        }),//Ingresos asimilados a salarios
922                        NominaGridHelper.formatoMontoColumn({
923                            field: 'Alimentacion_Gravado',
924                            label: "Gravado",
925                            editor: ValidationTextBox,
926                            editOn: 'dblclick',
927                            autoSave: true,
928                            editorArgs: {
929                                style: "width:110px",
930                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
931                            }
932                        }),//Alimentacion
933                        NominaGridHelper.formatoMontoColumn({
934                            field: 'Alimentacion_Exento',
935                            label: "Exento",
936                            editor: ValidationTextBox,
937                            editOn: 'dblclick',
938                            autoSave: true,
939                            editorArgs: {
940                                style: "width:110px",
941                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
942                            }
943                        }),//Alimentacion
944                        NominaGridHelper.formatoMontoColumn({
945                            field: 'Habitacion_Gravado',
946                            label: "Gravado",
947                            editor: ValidationTextBox,
948                            editOn: 'dblclick',
949                            autoSave: true,
950                            editorArgs: {
951                                style: "width:110px",
952                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
953                            }
954                        }),//Habitacion
955                        NominaGridHelper.formatoMontoColumn({
956                            field: 'Habitacion_Exento',
957                            label: "Exento",
958                            editor: ValidationTextBox,
959                            editOn: 'dblclick',
960                            autoSave: true,
961                            editorArgs: {
962                                style: "width:110px",
963                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
964                            }
965                        }),//Habitacion
966                        NominaGridHelper.formatoMontoColumn({
967                            field: 'PAsistecia_Gravado',
968                            label: "Gravado",
969                            editor: ValidationTextBox,
970                            editOn: 'dblclick',
971                            autoSave: true,
972                            editorArgs: {
973                                style: "width:110px",
974                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
975                            }
976                        }),//Premios por asistencia
977                        NominaGridHelper.formatoMontoColumn({
978                            field: 'PAsistecia_Exento',
979                            label: "Exento",
980                            editor: ValidationTextBox,
981                            editOn: 'dblclick',
982                            autoSave: true,
983                            editorArgs: {
984                                style: "width:110px",
985                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
986                            }
987                        }),//Premios por asistencia
988                        {
989                            field: 'TotalPercepcionesGravado',
990                            label: "Gravado",
991                            autoSave:true,
992                            set: function (object) {
993                                console.log(object);
994                                return a(object);
995                            },
996                            renderHeaderCell : function (node) {
997                                var div = document.createElement('div');
998                                div.innerHTML = "Gravado";
999                                domStyle.set(div, "text-align", "center");
1000                                domStyle.set(div, "background-color", "#5A748F");
1001                                domStyle.set(div, "width", "100%");
1002                                domStyle.set(div, "height", "100%");
1003                                domStyle.set(div, "color", "white");
1004                                domStyle.set(div, "font-weight", "bold");
1005                                domStyle.set(div, "font-family", "Geneva, Arial, Helvetica, sans-serif");
1006                                domStyle.set(div, "padding-top", "20px");
1007
1008                                return div;
1009                            }
1010                        },//Total
1011                        {
1012                            field: 'TotalPercepcionesExento',
1013                            label: "Exento",
1014                            autoSave: true,
1015                            set: function (object) {
1016                                return getTotalPercepcionesExento(object);
1017                            },
1018                            renderHeaderCell : function (node) {
1019                                var div = document.createElement('div');
1020                                div.innerHTML = "Exento";
1021                                domStyle.set(div, "text-align", "center");
1022                                domStyle.set(div, "background-color", "#5A748F");
1023                                domStyle.set(div, "width", "100%");
1024                                domStyle.set(div, "height", "100%");
1025                                domStyle.set(div, "color", "white");
1026                                domStyle.set(div, "font-weight", "bold");
1027                                domStyle.set(div, "font-family", "Geneva, Arial, Helvetica, sans-serif");
1028                                domStyle.set(div, "padding-top", "20px");
1029
1030                                return div;
1031                            }
1032                        },//Total
1033
1034                        NominaGridHelper.formatoMontoColumn({
1035                            field: 'ImporteSeguridadSocial',
1036                            label: 'Seguridad Social',
1037                            editor: ValidationTextBox,
1038                            editOn: 'dblclick',
1039                            autoSave: true,
1040                            editorArgs: {
1041                                style: "width:110px",
1042                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
1043                            }
1044                        }),//ImporteSeguridadSocial
1045                        NominaGridHelper.formatoMontoColumn({
1046                            field: 'ImporteISR',
1047                            label: 'ISR',
1048                            editor: ValidationTextBox,
1049                            editOn: 'dblclick',
1050                            autoSave: true,
1051                            editorArgs: {
1052                                style: "width:110px",
1053                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
1054                            }
1055                        }),//ImporteISR
1056                        NominaGridHelper.formatoMontoColumn({
1057                            field: 'ImporteARCEAV',
1058                            label: 'Aportaciones a Retiro, Cesantía en Edad Avanzada y Vejez',
1059                            editor: ValidationTextBox,
1060                            editOn: 'dblclick',
1061                            autoSave: true,
1062                            editorArgs: {
1063                                style: "width:110px",
1064                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
1065                            }
1066                        }),//Aportaciones a retiro, cesantía en edad avanzada y vejez
1067                        NominaGridHelper.formatoMontoColumn({
1068                            field: 'ImporteOtros',
1069                            label: 'Otros',
1070                            editor: ValidationTextBox,
1071                            editOn: 'dblclick',
1072                            autoSave: true,
1073                            editorArgs: {
1074                                style: "width:110px",
1075                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
1076                            }
1077                        }),//Otros
1078                        NominaGridHelper.formatoMontoColumn({
1079                            field: 'ImporteDPI',
1080                            label: 'Descuento por Incapacidad',
1081                            editor: ValidationTextBox,
1082                            editOn: 'dblclick',
1083                            autoSave: true,
1084                            editorArgs: {
1085                                style: "width:110px",
1086                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
1087                            }
1088                        }),//Importe Descuento por incapacidad
1089                        NominaGridHelper.formatoMontoColumn({
1090                            field: 'ImportePA',
1091                            label: 'Pensión Alimenticia',
1092                            editor: ValidationTextBox,
1093                            editOn: 'dblclick',
1094                            autoSave: true,
1095                            editorArgs: {
1096                                style: "width:110px",
1097                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
1098                            }
1099                        }),//Importe pensión alimenticia
1100                        NominaGridHelper.formatoMontoColumn({
1101                            field: 'ImporteRenta',
1102                            label: 'Renta',
1103                            editor: ValidationTextBox,
1104                            editOn: 'dblclick',
1105                            autoSave: true,
1106                            editorArgs: {
1107                                style: "width:110px",
1108                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
1109                            }
1110                        }),//ImporteRenta
1111                        NominaGridHelper.formatoMontoColumn({
1112                            field: 'ImportePPFNDLVPLT',
1113                            label: 'Préstamos Provenientes del Fondo Nacional de la Vivienda para los Trabajadores',
1114                            editor: ValidationTextBox,
1115                            editOn: 'dblclick',
1116                            autoSave: true,
1117                            editorArgs: {
1118                                style: "width:110px",
1119                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
1120                            }
1121                        }),//Importe Préstamos provenientes del Fondo nacional de la vivienda para los trabajadores
1122                        NominaGridHelper.formatoMontoColumn({
1123                            field: 'ImportePPCDV',
1124                            label: 'Pago por Crédito de Vivienda',
1125                            editor: ValidationTextBox,
1126                            editOn: 'dblclick',
1127                            autoSave: true,
1128                            editorArgs: {
1129                                style: "width:110px",
1130                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
1131                            }
1132                        }),//Importe Pago Por Credito De Vivienda
1133                        NominaGridHelper.formatoMontoColumn({
1134                            field: 'ImporteINFONACOT',
1135                            label: 'Pago de Abonos INFONACOT',
1136                            editor: ValidationTextBox,
1137                            editOn: 'dblclick',
1138                            autoSave: true,
1139                            editorArgs: {
1140                                style: "width:110px",
1141                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
1142                            }
1143                        }),//Importe de Pago de abonos INFONACOT
1144                        NominaGridHelper.formatoMontoColumn({
1145                            field: 'ImporteADS',
1146                            label: 'Anticipo de Salarios',
1147                            editor: ValidationTextBox,
1148                            editOn: 'dblclick',
1149                            autoSave: true,
1150                            editorArgs: {
1151                                style: "width:110px",
1152                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
1153                            }
1154                        }),//Importe anticipo de Salarios
1155                        NominaGridHelper.formatoMontoColumn({
1156                            field: 'ImportePHCEAT',
1157                            label: 'Pagos Hechos con Exceso al Trabajador',
1158                            editor: ValidationTextBox,
1159                            editOn: 'dblclick',
1160                            autoSave: true,
1161                            editorArgs: {
1162                                style: "width:110px",
1163                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
1164                            }
1165                        }),//Pagos Hechos con Exceso al Trabajador importe
1166                        NominaGridHelper.formatoMontoColumn({
1167                            field: 'ImporteErrores',
1168                            label: 'ERRORES',
1169                            editor: ValidationTextBox,
1170                            editOn: 'dblclick',
1171                            autoSave: true,
1172                            editorArgs: {
1173                                style: "width:110px",
1174                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
1175                            }
1176                        }),//Importe Errores
1177                        NominaGridHelper.formatoMontoColumn({
1178                            field: 'ImportePerdidas',
1179                            label: 'Pérdidas',
1180                            editor: ValidationTextBox,
1181                            editOn: 'dblclick',
1182                            autoSave: true,
1183                            editorArgs: {
1184                                style: "width:110px",
1185                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
1186                            }
1187                        }),//Importe Perdidas
1188                        NominaGridHelper.formatoMontoColumn({
1189                            field: 'ImporteAverias',
1190                            label: 'Averías',
1191                            editor: ValidationTextBox,
1192                            editOn: 'dblclick',
1193                            autoSave: true,
1194                            editorArgs: {
1195                                style: "width:110px",
1196                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
1197                            }
1198                        }),//Importe Averías
1199                        NominaGridHelper.formatoMontoColumn({
1200                            field: 'ImporteAdquisicionArticulos',
1201                            label: 'Adquisición de Artículos',
1202                            editor: ValidationTextBox,
1203                            editOn: 'dblclick',
1204                            autoSave: true,
1205                            editorArgs: {
1206                                style: "width:110px",
1207                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
1208                            }
1209                        }),//Importe Adquisición de articulos
1210                        NominaGridHelper.formatoMontoColumn({
1211                            field: 'ImporteCuotasConstitucion',
1212                            label: 'Cuotas para la Constitución y Fomento de Sociedades Cooperativas y de Cajas de Ahorro',
1213                            editor: ValidationTextBox,
1214                            editOn: 'dblclick',
1215                            autoSave: true,
1216                            editorArgs: {
1217                                style: "width:110px",
1218                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
1219                            }
1220                        }),//Cuotas para la constitución y fomento de sociedades cooperativas y de cajas de ahorro
1221                        NominaGridHelper.formatoMontoColumn({
1222                            field: 'ImporteCuotasSindicales',
1223                            label: 'Cuotas Sindicales',
1224                            editor: ValidationTextBox,
1225                            editOn: 'dblclick',
1226                            autoSave: true,
1227                            editorArgs: {
1228                                style: "width:110px",
1229                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
1230                            }
1231                        }),//Importe Cuotas Sindicales
1232                        NominaGridHelper.formatoMontoColumn({
1233                            field: 'ImporteAusencia',
1234                            label: 'Ausencia',
1235                            editor: ValidationTextBox,
1236                            editOn: 'dblclick',
1237                            autoSave: true,
1238                            editorArgs: {
1239                                style: "width:110px",
1240                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
1241                            }
1242                        }),//Importe Ausencia
1243                        NominaGridHelper.formatoMontoColumn({
1244                            field: 'ImporteObreroP',
1245                            label: 'Cuotas Obrero Patronales',
1246                            editor: ValidationTextBox,
1247                            editOn: 'dblclick',
1248                            autoSave: true,
1249                            editorArgs: {
1250                                style: "width:110px",
1251                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
1252                            }
1253                        }),//Importe cutoas obrero patronales
1254                        NominaGridHelper.formatoMontoColumn({
1255                            field: 'ImporteImpuestosL',
1256                            label: 'Impuestos Locales',
1257                            editor: ValidationTextBox,
1258                            editOn: 'dblclick',
1259                            autoSave: true,
1260                            editorArgs: {
1261                                style: "width:110px",
1262                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
1263                            }
1264                        }),//Importe impuestos locales
1265                        NominaGridHelper.formatoMontoColumn({
1266                            field: 'ImporteAportacionesV',
1267                            label: 'Aportaciones Voluntarias',
1268                            editor: ValidationTextBox,
1269                            editOn: 'dblclick',
1270                            autoSave: true,
1271                            editorArgs: {
1272                                style: "width:110px",
1273                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
1274                            }
1275                        }),//Importe aportaciones voluntarias
1276                        {
1277                            field: 'TotalDeducciones',
1278                            label: "Deducciones", colSpan: 2,
1279                            autoSave: true,
1280                            set: function (object) {
1281                                return getTotalDeducciones(object);
1282                            }
1283                        },//Total Deducciones
1284                        
1285                        NominaGridHelper.formatoColumn({
1286                            field: 'RiesgoTrabajoDias',
1287                            label: "Dias"
1288                        }),//Riesgo de trabajo dias
1289
1290                        NominaGridHelper.formatoColumn({
1291                            field: 'RiesgoTrabajoDescuento',
1292                            label: "Descuento"
1293                        }),//Riesgo de trabajo Descuento
1294
1295                        NominaGridHelper.formatoColumn({
1296                            field: 'RiesgoEnfermedadDias',
1297                            label: "Dias"
1298                        }),//Riesgo Enfermedades en General dias.
1299                        NominaGridHelper.formatoColumn({
1300                            field: 'RiesgoEnfermedadDescuento',
1301                            label: "Descuento"
1302                        }),//Riesgo Enferemedades en General Descuento.
1303                        NominaGridHelper.formatoColumn({
1304                            field: 'MaternidadDias',
1305                            label: "Dias"
1306                        }),//Maternidad dias.
1307                        NominaGridHelper.formatoColumn({
1308                            field: 'MaternidadDescuento',
1309                            label: "Descuento"
1310                        }),//Maternidad Descuento.
1311                        NominaGridHelper.formatoColumn({
1312                            field: 'TotalIncapacidadesDias',
1313                            label: "Días"
1314                        }),//Total de las incapacidades Dias
1315                        NominaGridHelper.formatoColumn({
1316                            field: 'TotalIncapacidadesDescuento',
1317                            label: "Descuento"
1318                        }),//Total de las incapacidades Descuento
1319
1320                        NominaGridHelper.formatoColumn({
1321                            field: 'HorasExD_Dias',
1322                            label: "Dias"
1323                        }),//HorasExtraDobles dias.
1324
1325                        NominaGridHelper.formatoColumn({
1326                            field: 'HorasExD_Horas',
1327                            label: "Horas"
1328                        }),//Horas Extra Dobles horas.
1329
1330                        NominaGridHelper.formatoColumn({
1331                            field: 'HorasExD_Importe',
1332                            label: "Importe"
1333                        }),//Horas Extras Dobles importe
1334
1335                        NominaGridHelper.formatoColumn({
1336                            field: 'HorasExT_Dias',
1337                            label: "Dias"
1338                        }),//HorasExtra Triples dias.
1339                        NominaGridHelper.formatoColumn({
1340                            field: 'HorasExT_Horas',
1341                            label: "Horas"
1342                        }),//Horas Extra Triples horas.
1343                        NominaGridHelper.formatoColumn({
1344                            field: 'HorasExT_Importe',
1345                            label: "Importe"
1346                        }),//Horas Extras Triples importe
1347
1348                        NominaGridHelper.formatoColumn({
1349                            field: 'HorasExS_Dias',
1350                            label: "Dias"
1351                        }),//Horas Extra Simples dias.
1352
1353                        NominaGridHelper.formatoColumn({
1354                            field: 'HorasExS_Horas',
1355                            label: "Horas"
1356                        }),//Horas Extra Simples horas.
1357
1358                        NominaGridHelper.formatoColumn({
1359                            field: 'HorasExS_Importe',
1360                            label: "Importe"
1361                        }),//Horas Extras Simples importe
1362                        NominaGridHelper.formatoColumn({
1363                            field: 'TotalHE',
1364                            label: "Total Horas Extra"
1365                        }),//Total Horas Extra
1366
1367                        NominaGridHelper.formatoColumn({//Reintegro de ISR pagado en exeso
1368                            field: 'Reintegro_ISR',
1369                            label: 'Reintegro de ISR pagado en exceso (siempre que no haya sido enterado al SAT).',
1370                            editor: ValidationTextBox,
1371                            editOn: 'dblclick',
1372                            autoSave: true,
1373                            editorArgs: {
1374                                style: "width:110px",
1375                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
1376                            }
1377                        }),
1378                        NominaGridHelper.formatoColumn({//Subsidio para el empleo efectivamente entregado
1379                            field: 'SubsidioEmpleoEfecEntregado',
1380                            label: 'Subsidio para el Empleo Efectivamente Entregado',
1381                            editor: ValidationTextBox,
1382                            editOn: 'dblclick',
1383                            autoSave: true,
1384                            editorArgs: {
1385                                style: "width:110px",
1386                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
1387                            }
1388                        }),
1389                        NominaGridHelper.formatoColumn({//Viáticos (entregados al trabajador).
1390                            field: 'ViaticosEntregadosTrabajador',
1391                            label: 'Viáticos (Entregados al trabajador).',
1392                            editor: ValidationTextBox,
1393                            editOn: 'dblclick',
1394                            autoSave: true,
1395                            editorArgs: {
1396                                style: "width:110px",
1397                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
1398                            }
1399                        }),
1400                        NominaGridHelper.formatoColumn({//Aplicación de saldo a favor por compensación anual.
1401                            field: 'AplicacionSaldoAFavorCompensacionAnual',
1402                            label: 'Aplicación de Saldo a Favor por Compensación Anual  Importe',
1403                            editor: ValidationTextBox,
1404                            editOn: 'dblclick',
1405                            autoSave: true,
1406                            editorArgs: {
1407                                style: "width:110px",
1408                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
1409                            }
1410                        }),
1411                        NominaGridHelper.formatoColumn({//Pagos distintos a los listados y que no deben considerarse como ingreso por sueldos, salarios o ingresos asimilados..
1412                            field: 'PagosDistintosALosListados',
1413                            label: 'Pagos Distintos a los Listados y que no Deben Considerarse como Ingreso por Sueldos, Salarios o Ingresos Asimilados.',
1414                            editor: ValidationTextBox,
1415                            editOn: 'dblclick',
1416                            autoSave: true,
1417                            editorArgs: {
1418                                style: "width:110px",
1419                                regExp: '(^[0-9]+)|(^[0-9]+\.[0-9]{1,3})'
1420                            }
1421                        })/*
1422                        {
1423                            field: 'checkRegistro',
1424                            label: 'isValid',
1425                            editor: CheckBox,
1426                            renderHeaderCell: function (node) {
1427                                return formatoHeader(node, 2, "valido<br/>", domStyle);//Bandera 2 para deducciones
1428                            },
1429                            editorArgs: {
1430                                value: "checked"
1431                            }
1432                        }*/
1433                    ],
1434                    [
1435                        NominaGridHelper.formatoColumn({ field: 'totalGAB', label: 'Total', colSpan: 7 }),
1436                        NominaGridHelper.formatoColumn({ field: 'sueldoH', label: 'Sueldo', colSpan: 2 }),
1437                        NominaGridHelper.formatoColumn({ field: 'aguinaldoH', label: 'Aguinaldo', colSpan: 2 }),
1438                        NominaGridHelper.formatoColumn({ field: 'PTUH', label: 'PTU', colSpan: 2 }),
1439                        NominaGridHelper.formatoColumn({ field: 'RDGMDYHH', label: 'Reembolso de Gastos Médicos Dentales y Hospitalarios', colSpan: 2 }),
1440                        NominaGridHelper.formatoColumn({ field: 'FONDODEAHORROH', label: 'Fondo de ahorro', colSpan: 2 }),
1441                        NominaGridHelper.formatoColumn({ field: 'CAJADEAHORROH', label: 'Caja de ahorro', colSpan: 2 }),
1442                        NominaGridHelper.formatoColumn({ field: 'CONTRIBUCIONESACARGODELTRABAJADORPAGADASPORELPATRON', label: 'Contribuciones a cargo del trabajador pagadas por el patrón', colSpan: 2 }),
1443                        NominaGridHelper.formatoColumn({ field: 'PREMIOPUNTURALIDADH', label: 'Premio puntualidad', colSpan: 2 }),
1444                        NominaGridHelper.formatoColumn({ field: 'PRIMADESEGURODEVIDAH', label: 'Prima de seguro de vida', colSpan: 2 }),
1445                        NominaGridHelper.formatoColumn({ field: 'SEGURODEGASTOSMEDICOSMAYORESH', label: 'Seguro de gastos médicos mayores', colSpan: 2 }),
1446                        NominaGridHelper.formatoColumn({ field: 'CUOTASSINDICALESPAGADASPORELPATRONH', label: 'Cuotas sindicales pagadas por el patrón', colSpan: 2 }),
1447                        NominaGridHelper.formatoColumn({ field: 'SUBSIDIOSPORINCAPACIDADH', label: 'Subsidios por incapacidad', colSpan: 2 }),
1448                        NominaGridHelper.formatoColumn({ field: 'BECASH', label: 'Becas', colSpan: 2 }),
1449                        NominaGridHelper.formatoColumn({ field: 'HORASEXTRAH', label: 'Horas extra', colSpan: 2 }),
1450                        NominaGridHelper.formatoColumn({ field: 'PRIMADOMINICALH', label: 'Prima dominical', colSpan: 2 }),
1451                        NominaGridHelper.formatoColumn({ field: 'PRIMAVACACIONALH', label: 'Prima vacacional', colSpan: 2 }),
1452                        NominaGridHelper.formatoColumn({ field: 'PRIMAANTIGUEDADH', label: 'Prima antig√ɬľedad', colSpan: 2 }),
1453                        NominaGridHelper.formatoColumn({ field: 'PAGOSPORSEPARACIONH', label: 'Pagos por separación', colSpan: 2 }),
1454                        NominaGridHelper.formatoColumn({ field: 'SEGURODERETIROH', label: 'Seguro de retiro', colSpan: 2 }),
1455                        NominaGridHelper.formatoColumn({ field: 'INDEMINIZACIONESH', label: 'Indeminizaciones', colSpan: 2 }),
1456                        NominaGridHelper.formatoColumn({ field: 'REEMBOLSOPORFUNERALH', label: 'Reembolso por funeral', colSpan: 2 }), 
1457                        NominaGridHelper.formatoColumn({ field: 'CUOTASDESEGURIDADSOCIALPAGADDASPORELPATRONH', label: 'Cuotas de seguridad social pagadas por el patrón', colSpan: 2 }),
1458                        NominaGridHelper.formatoColumn({ field: 'ComisioenesH', label: 'Comisiones', colSpan: 2 }),
1459                        NominaGridHelper.formatoColumn({ field: 'VALESDEDESPENSAH', label: 'Vales de despensa', colSpan: 2 }),
1460                        NominaGridHelper.formatoColumn({ field: 'VALESDERESTAURANTEH', label: 'Vales de restaurante', colSpan: 2 }),
1461                        NominaGridHelper.formatoColumn({ field: 'VALESDEGASOLINAH', label: 'Vales de gasolina', colSpan: 2 }),
1462                        NominaGridHelper.formatoColumn({ field: 'VALESROPAH', label: 'Vales de ropa', colSpan: 2 }),
1463                        NominaGridHelper.formatoColumn({ field: 'AYUDAPARARENTAH', label: 'Ayuda para renta', colSpan: 2 }),
1464                        NominaGridHelper.formatoColumn({ field: 'AYUDAPARAARTICULOSESCOLARESH', label: 'Ayuda para artículos escolares', colSpan: 2 }),
1465                        NominaGridHelper.formatoColumn({ field: 'ANTEOJOSH', label: 'Ayuda para anteojos', colSpan: 2 }),
1466                        NominaGridHelper.formatoColumn({ field: 'TRANSPORTEH', label: 'Ayuda para transporte', colSpan: 2 }),
1467                        NominaGridHelper.formatoColumn({ field: 'AYUDAPARAGASTOSDEFUNERALH', label: 'Ayuda para gastos de funeral', colSpan: 2 }),
1468                        NominaGridHelper.formatoColumn({ field: 'OTROSINGRESOSPORSALARIOSH', label: 'Otros ingresos por salarios', colSpan: 2 }),
1469                        NominaGridHelper.formatoColumn({ field: 'JUBILACIONESPENSIONESOHABERESDERETIROH', label: 'Jubilaciones, pensiones o haberes de retiro', colSpan: 2 }),
1470                        NominaGridHelper.formatoColumn({ field: 'JUBILACIONESPENSIONESOHABERESDERETIROENPARCIALIDADESH', label: 'Jubilaciones, pensiones o haberes de retiro en parcialidades', colSpan: 2 }),
1471                        NominaGridHelper.formatoColumn({ field: 'INGRESOSENACCIONESOTITULOSH', label: 'Ingresos en Acciones o Títulos Valor que Representen Bienes', colSpan: 2 }),
1472                        NominaGridHelper.formatoColumn({ field: 'INGRESOSASIMILADOSASALARIOSH', label: 'Ingresos Asimilados a Salarios', colSpan: 2 }),
1473                        NominaGridHelper.formatoColumn({ field: 'ALIMENTACIONH', label: 'Alimentación', colSpan: 2 }),
1474                        NominaGridHelper.formatoColumn({ field: 'HABITACIONH', label: 'Habitación', colSpan: 2 }),
1475                        NominaGridHelper.formatoColumn({ field: 'PREMIOSPORASISTENCIAH', label: 'Premios por asistencia', colSpan: 2 }),
1476
1477                        NominaGridHelper.formatoColumn({ field: 'TOTALPERCEPCIONESH', label: 'Total Percepciones', colSpan: 2 }),
1478
1479                        NominaGridHelper.formatoColumn({ field: 'ImporteSeguridadSocialH', label: 'Importe', colSpan: 1 }),
1480                        NominaGridHelper.formatoColumn({ field: 'ISRH', label: 'Importe', colSpan: 1 }),
1481                        NominaGridHelper.formatoColumn({ field: 'APORTACIONESARETIROEDADAVANZADA', label: 'Importe', colSpan: 1 }),
1482                        NominaGridHelper.formatoColumn({ field: 'ISRH', label: 'Importe', colSpan: 1 }),
1483                        NominaGridHelper.formatoColumn({ field: 'APORTACIONESARETIROEDADAVANZADA', label: 'Importe', colSpan: 1 }),
1484                        NominaGridHelper.formatoColumn({ field: 'APORTACIONESARETIROEDADAVANZADA', label: 'Importe', colSpan: 1 }),
1485                        NominaGridHelper.formatoColumn({ field: 'ISRH', label: 'Importe', colSpan: 1 }),
1486                        NominaGridHelper.formatoColumn({ field: 'APORTACIONESARETIROEDADAVANZADA', label: 'Importe', colSpan: 1 }),
1487                        NominaGridHelper.formatoColumn({ field: 'APORTACIONESARETIROEDADAVANZADA', label: 'Importe', colSpan: 1 }),
1488                        NominaGridHelper.formatoColumn({ field: 'ISRH', label: 'Importe', colSpan: 1 }),
1489                        NominaGridHelper.formatoColumn({ field: 'APORTACIONESARETIROEDADAVANZADA', label: 'Importe', colSpan: 1 }),
1490                        NominaGridHelper.formatoColumn({ field: 'ImporteSeguridadSocialH', label: 'Importe', colSpan: 1 }),
1491                        NominaGridHelper.formatoColumn({ field: 'ISRH', label: 'Importe', colSpan: 1 }),
1492                        NominaGridHelper.formatoColumn({ field: 'APORTACIONESARETIROEDADAVANZADA', label: 'Importe', colSpan: 1 }),
1493                        NominaGridHelper.formatoColumn({ field: 'ISRH', label: 'Importe', colSpan: 1 }),
1494                        NominaGridHelper.formatoColumn({ field: 'APORTACIONESARETIROEDADAVANZADA', label: 'Importe', colSpan: 1 }),
1495                        NominaGridHelper.formatoColumn({ field: 'APORTACIONESARETIROEDADAVANZADA', label: 'Importe', colSpan: 1 }),
1496                        NominaGridHelper.formatoColumn({ field: 'ISRH', label: 'Importe', colSpan: 1 }),
1497                        NominaGridHelper.formatoColumn({ field: 'APORTACIONESARETIROEDADAVANZADA', label: 'Importe', colSpan: 1 }),
1498                        NominaGridHelper.formatoColumn({ field: 'APORTACIONESARETIROEDADAVANZADA', label: 'Importe', colSpan: 1 }),
1499                        NominaGridHelper.formatoColumn({ field: 'ISRH', label: 'Importe', colSpan: 1 }),
1500                        NominaGridHelper.formatoColumn({ field: 'APORTACIONESARETIROEDADAVANZADA', label: 'Importe', colSpan: 1 }),
1501                        NominaGridHelper.formatoColumn({ field: 'APORTACIONESARETIROEDADAVANZADA', label: 'Total', colSpan: 2 }),
1502                        NominaGridHelper.formatoColumn({ field: 'RIESGODETRABAJOH', label: 'Riesgo de trabajo', colSpan: 2 }),
1503                        NominaGridHelper.formatoColumn({ field: 'RIESGOENFERMEDADESENGENERALH', label: 'Riesgo enfermedades en general', colSpan: 2 }),
1504                        NominaGridHelper.formatoColumn({ field: 'MATERNIDADH', label: 'Maternidad', colSpan: 2 }),
1505                        NominaGridHelper.formatoColumn({ field: 'TOTALINCAPACIDADESH', label: 'Total incapacidades', colSpan: 2 }),
1506                        NominaGridHelper.formatoColumn({ field: 'HORASEXTRADOBLESH', label: 'Horas extra dobles', colSpan: 3 }),
1507                        NominaGridHelper.formatoColumn({ field: 'HORASEXTRATRIPLESH', label: 'Horas extra triples', colSpan: 3 }),
1508                        NominaGridHelper.formatoColumn({ field: 'HORASEXTRASIMPLESH', label: 'Horas extra simples', colSpan: 3 }),
1509                        NominaGridHelper.formatoColumn({ field: 'IMPORTEHHH', label: 'Importe', colSpan: 1 }),
1510                        NominaGridHelper.formatoColumn({ field: 'IMPORTEHHH', label: 'Importe', colSpan: 1 }),
1511                        NominaGridHelper.formatoColumn({ field: 'IMPORTEHHH', label: 'Importe', colSpan: 1 }),
1512                        NominaGridHelper.formatoColumn({ field: 'IMPORTEHHH', label: 'Importe', colSpan: 1 }),
1513                        NominaGridHelper.formatoColumn({ field: 'IMPORTEHHH', label: 'Importe', colSpan: 1 }),
1514                        NominaGridHelper.formatoColumn({ field: 'IMPORTEHHH', label: 'Importe', colSpan: 1 })
1515                    ]
1516                ]//Fin del Segundo ColumnSet
1517            ]
1518
1519
1520    });
1521});
Full Screen

events.js

Source: events.js Github

copy
1const Is = require('is');
2const fail = require('../util/fail');
3
4
5describe('Events', () => {
6  const el = x => document.createElement(x)
7
8  describe('base', () => {
9    let ul = el('ul');
10
11    it('should have "on" method', () => Is.must.be.func(Element.prototype.on));
12    it('should have "off" method', () => Is.must.be.func(Element.prototype.off));
13
14    it('should throw when called without event name', () => {
15      let err = fail(ul.on, [], ul);
16      Is.must.be.err(err)
17    });
18
19    it('should throw when called without callback', () => {
20      let err = fail(ul.on, [ 'click' ], ul);
21      Is.must.be.err(err)
22    })
23  });
24
25  describe('on', () => {
26    it('should add event and return element', () => {
27      let div = el('div');
28      let ctx = {};
29      let ret = div.on('click', function (e) {
30        Is.assert(this, ctx);
31      }, ctx);
32
33      div.click();
34      Is.assert(ret, div)
35    });
36    it('should delegate event', () => {
37      let div = el('div');
38      div.innerHTML = '<p></p><b></b>';
39
40      div.on('click p', e => Is.assert(e.target.nodeName, 'P'));
41      div.on('click b', e => Is.assert(e.target.nodeName, 'B'));
42
43      div.firstElementChild.click();
44      div.lastElementChild.click();
45    })
46  });
47
48  describe('once', () => {
49    let div = el('div');
50    let count = 0;
51    div.once('click', e => count += 1);
52    it('should emit once', () => {
53      div.click();
54      Is.assert(1, count);
55      div.click();
56      Is.assert(1, count);
57    })
58  });
59
60  describe('off', () => {
61    function emit(name, el) {
62      let e = new MouseEvent(name, {view: window, bubbles: true, cancelable: true});
63      el.dispatchEvent(e);
64    }
65
66    let div = el('div');
67    div.innerHTML = '<p></p><b></b>';
68
69    let p = div.firstElementChild;
70    let b = div.lastElementChild;
71
72    let count = {
73      click   : {p: 0, b: 0},
74      dblclick: {p: 0, b: 0},
75      wheel   : {p: 0, b: 0},
76      cb      : 0
77    };
78
79    let cb = e => count.cb += 1;
80    div.on('click b', e => count.click.b += 1);
81    div.on('click p', e => count.click.p += 1);
82    div.on('dblclick b', e => count.dblclick.b += 1);
83    div.on('dblclick p', e => count.dblclick.p += 1);
84    div.on('wheel b,p', cb);
85
86    it('should remove all clicks', () => {
87      emit('click', p);
88      emit('click', b);
89      div.off('click');
90      emit('click', p);
91      emit('click', b);
92      Is.assert(count.click.p, 1);
93      Is.assert(count.click.b, 1)
94    });
95
96    it('should remove dblclick with selector', () => {
97      emit('dblclick', p);
98      emit('dblclick', b);
99      div.off('dblclick p');
100      emit('dblclick', p);
101      emit('dblclick', b);
102      Is.assert(count.dblclick.p, 1);
103      Is.assert(count.dblclick.b, 2)
104    });
105
106    it('should remove by callback', () => {
107      emit('wheel', p);
108      emit('wheel', b);
109      div.off(cb);
110      emit('wheel', p);
111      emit('wheel', b);
112      Is.assert(count.cb, 2)
113    });
114
115    it('should remove all', () => {
116      div.off();
117      emit('click', p);
118      emit('click', b);
119      emit('dblclick', p);
120      emit('dblclick', b);
121      emit('wheel', p);
122      emit('wheel', b);
123      Is.assert(count.click.p, 1);
124      Is.assert(count.click.b, 1);
125      Is.assert(count.dblclick.p, 1);
126      Is.assert(count.dblclick.b, 2);
127      Is.assert(count.cb, 2)
128    })
129  });
130});
131
Full Screen

050_mouse_click_jquery.t.js

Source: 050_mouse_click_jquery.t.js Github

copy
1StartTest(function(t) {
2    
3    //==================================================================================================================================================================================
4    t.diag("Siesta.Test keyboard simulation");
5
6    t.testJQuery(function (t) {
7        // testing click
8        $(document.body).append('<div id="click">testing click</div>');
9        
10        var fired       = {
11            mousedown       : 0,
12            mouseup         : 0,
13            dblclick        : 0,
14            click           : 0
15        }
16        
17        $('#click').mousedown(function () { fired.mousedown++ })
18        $('#click').mouseup(function () { fired.mouseup++ })
19        $('#click').click(function () { fired.click++ })
20        $('#click').dblclick(function () { fired.dblclick++ })
21        
22        t.click($('#click'));
23        
24        t.isDeeply(fired, {
25            mousedown       : 1,
26            mouseup         : 1,
27            dblclick        : 0,
28            click           : 1
29        }, 'Correct events has been fired')
30        
31        
32        // testing double click
33        $(document.body).append('<div id="dblclick">testing double click</div>');
34        
35        var fired       = {
36            mousedown       : 0,
37            mouseup         : 0,
38            dblclick        : 0,
39            click           : 0
40        }
41        
42        $('#dblclick').mousedown(function () { fired.mousedown++ })
43        $('#dblclick').mouseup(function () { fired.mouseup++ })
44        $('#dblclick').click(function () { fired.click++ })
45        $('#dblclick').dblclick(function () { fired.dblclick++ })
46
47        t.doubleClick($('#dblclick'));
48        
49        t.isDeeply(fired, {
50            mousedown       : 2,
51            mouseup         : 2,
52            dblclick        : 1,
53            click           : 2
54        }, 'Correct events has been fired')
55
56        t.done();
57    });
58});
59
60
Full Screen

event.js

Source: event.js Github

copy
1
2///////////////// hiding elements ////////////////
3
4//  hide elements by default
5
6$("#dbclickHide").dblclick(function(){
7    $("#dbclickHideEffect").hide();
8  });
9
10//   for hide slowly 
11
12
13$("#dbclickHideSlowly").dblclick(function(){
14    $("#dbclickHideEffectSlowly").hide(1000);
15  });
16
17//   for hide fastly
18
19
20$("#dbclickHideFastly").dblclick(function(){
21    $("#dbclickHideEffectFastly").hide(-3000);
22  });
23
24
25
26  ///////////////// showing elements ////////////////
27
28
29//   show elements by default 
30
31$(document).ready(function(){
32 $("#dbclickShowEffect").css("display", "none");
33$("#dbclickShow").dblclick(function(){
34    $("#dbclickShowEffect").show();
35  });
36});
37
38
39// for show slowly 
40
41$(document).ready(function(){
42    $("#dbclickShowEffectSlowly").css("display", "none");
43   $("#dbclickShowSlowly").dblclick(function(){
44       $("#dbclickShowEffectSlowly").show(3000);
45     });
46   });
47   
48//    for show fastly
49
50
51$(document).ready(function(){
52    $("#dbclickShowEffectFastly").css("display", "none");
53   $("#dbclickShowFastly").dblclick(function(){
54       $("#dbclickShowEffectFastly").show(-3000);
55     });
56   });
57
58
59// //////   toggole elements /////////
60
61
62// toggole elements by default 
63
64$(document).ready(function(){
65    $("#dbclickToggole").dblclick(function(){
66      $("#dbclickToggoleEffect").toggle();
67    });
68  });
69
70
71//   for toggle slowly 
72
73
74$(document).ready(function(){
75    $("#dbclickToggoleSlowly").dblclick(function(){
76      $("#dbclickToggoleEffectSlowly").toggle(3000);
77    });
78  });
79
80//   for toggle fastly 
81
82
83$(document).ready(function(){
84    $("#dbclickToggoleFastly").dblclick(function(){
85      $("#dbclickToggoleEffectFastly").toggle(-3000);
86    });
87  });
88
89//   for hide and show elements 
90
91// hide and show by default 
92
93$(document).ready(function(){
94    $("#dbclickHideandShow").dblclick(function(){
95      $("#dbclickHidandShoweffect").hide();
96    });
97    $("#dbclickShowandHideEffect").css("display", "none");
98    $("#dbclickShowandHide").dblclick(function(){
99      $("#dbclickShowandHideEffect").show();
100    });
101  });
102
103// hide and show slowly 
104  
105$(document).ready(function(){
106    $("#dbclickHideandShowSlowly").dblclick(function(){
107      $("#dbclickHidandShoweffectSlowly").hide(300);
108    });
109    $("#dbclickShowandHideEffectSlowly").css("display", "none");
110    $("#dbclickShowandHideSlowly").dblclick(function(){
111      $("#dbclickShowandHideEffectSlowly").show(3000);
112    });
113  });
114
115// hide and show fastly 
116  
117$(document).ready(function(){
118    $("#dbclickHideandShowFastly").dblclick(function(){
119      $("#dbclickHidandShoweffectFastly").hide(-3000);
120    });
121    $("#dbclickShowandHideEffectFastly").css("display", "none");
122    $("#dbclickShowandHideFastly").dblclick(function(){
123      $("#dbclickShowandHideEffectFastly").show(-3000);
124    });
125  });
126
127
128//   hide show and toggole elements 
129
130// hide show and toggle by default 
131
132
133$(document).ready(function(){
134    $("#dbclickHideShowToggole").dblclick(function(){
135      $("#dbclickHidandShowToggoleEffect").hide();
136    });
137    $("#dbclickShowHideToggleEffect").css("display", "none");
138    $("#dbclickShowandHideToggle").dblclick(function(){
139      $("#dbclickShowandHideToggleEffect").show();
140    });
141    $("#dbclickToggoleShowHide").dblclick(function(){
142        $("#dbclickToggoleShowHideEffect").toggle();
143      });
144  });
145
146//   for hide show and toggle slowly 
147
148
149$(document).ready(function(){
150    $("#dbclickHideShowToggoleSlowly").dblclick(function(){
151      $("#dbclickHidandShowToggoleEffectSlowly").hide(3000);
152    });
153    $("#dbclickShowandHideToggleEffectSlowly").css("display", "none");
154    $("#dbclickShowandHideToggleSlowly").dblclick(function(){
155      $("#dbclickShowandHideToggleEffectSlowly").show(3000);
156    });
157    $("#dbclickShowandHideToggleSlowly").dblclick(function(){
158        $("#dbclickToggoleShowHideEffectSlowly").toggle(3000);
159      });
160  });
161
162  //   for hide show and toggle fastly 
163
164  
165$(document).ready(function(){
166    $("#dbclickHideShowToggoleFastly").dblclick(function(){
167      $("#dbclickHidandShowToggoleEffectFastly").hide(-3000);
168    });
169    $("#dbclickShowandHideToggleEffectFastly").css("display", "none");
170    $("#dbclickShowandHideToggleFastly").dblclick(function(){
171      $("#dbclickShowandHideToggleEffectFastly").show(-3000);
172    });
173    $("#dbclickShowandHideToggleFastly").dblclick(function(){
174        $("#dbclickToggoleShowHideEffectFastly").toggle(-3000);
175      });
176  });
177
178
179/////////////////////   fade in //////////////////////
180
181// fade in by defauly 
182
183$(document).ready(function(){
184    $("#dbclickFadeInEffect").css("color","red");
185    $("#dbclickFadeInEffect").css("display", "none");
186    $("#dbclickFadeIn").dblclick(function(){
187      $("#dbclickFadeInEffect").fadeIn();
188     
189    });
190  });
191
192//   fade in slowly 
193
194
195$(document).ready(function(){
196    $("#dbclickFadeInEffectSlowly").css("color","blue");
197    $("#dbclickFadeInEffectSlowly").css("display", "none");
198    $("#dbclickFadeInSlowly").dblclick(function(){
199      $("#dbclickFadeInEffectSlowly").fadeIn(3000);
200     
201    });
202  });
203
204//   fade in fastly 
205
206
207
208$(document).ready(function(){
209    $("#dbclickFadeInEffectFastly").css("color","green");
210    $("#dbclickFadeInEffectFastly").css("display", "none");
211    $("#dbclickFadeInFastly").dblclick(function(){
212      $("#dbclickFadeInEffectFastly").fadeIn(-3000);
213     
214    });
215  });
216
217
218/////////////////////////   fade out ////////////////////////////
219
220
221// fade out by default 
222
223
224$(document).ready(function(){
225    $("#dbclickFadeOutEffect").css("color","red");
226    $("#dbclickFadeOut").dblclick(function(){
227      $("#dbclickFadeOutEffect").fadeOut();
228     
229    });
230  });
231
232
233//   fade out slowly 
234
235
236$(document).ready(function(){
237    $("#dbclickFadeOutEffectSlowly").css("color","blue");
238    $("#dbclickFadeOutSlowly").dblclick(function(){
239      $("#dbclickFadeOutEffectSlowly").fadeOut(3000);
240     
241    });
242  });
243
244
245//   fade out fastly 
246
247
248
249$(document).ready(function(){
250    $("#dbclickFadeOutEffectFastly").css("color","green");
251    $("#dbclickFadeOutFastly").dblclick(function(){
252      $("#dbclickFadeOutEffectFastly").fadeOut(-3000);
253     
254    });
255  });
256
257
258//////////////////////// fade toggole ////////////////////////////////
259
260// fade toggole by default 
261
262
263$(document).ready(function(){
264    $("#dbclickFadeToggoleEffect").css("color","red");
265    $("#dbclickFadeToggole").dblclick(function(){
266      $("#dbclickFadeToggoleEffect").fadeToggle();
267     
268    });
269  });
270
271
272//   fade toggole slowly 
273
274
275$(document).ready(function(){
276    $("#dbclickFadeToggoleEffectSlowly").css("color","blue");
277    $("#dbclickFadeToggoleSlowly").dblclick(function(){
278      $("#dbclickFadeToggoleEffectSlowly").fadeToggle(3000);
279     
280    });
281  });
282
283
284//   fade toggole fastly 
285
286
287$(document).ready(function(){
288    $("#dbclickFadeToggoleEffectFastly").css("color","blue");
289    $("#dbclickFadeToggoleFastly").dblclick(function(){
290      $("#dbclickFadeToggoleEffectFastly").fadeToggle(-3000);
291     
292    });
293  });
294
295
296
297  ///////////////////////// fade to //////////////////////////
298
299  // fade to 
300
301  
302$(document).ready(function(){
303  $("#dbclickFadeToEffect").css("color","red");
304  $("#dbclickFadeTo").dblclick(function(){
305    $("#dbclickFadeToEffect").fadeTo("slow", 0.15);
306   
307  });
308});
309
310// fade to slowly
311 
312$(document).ready(function(){
313  $("#dbclickFadeToEffectSlowly").css("color","blue");
314  $("#dbclickFadeToSlowly").dblclick(function(){
315    $("#dbclickFadeToEffectSlowly").fadeTo("slow", 0.60);
316   
317  });
318});
319
320// fade to fastly
321 
322$(document).ready(function(){
323  $("#dbclickFadeToEffectFastly").css("color","green");
324  $("#dbclickFadeToFastly").dblclick(function(){
325    $("#dbclickFadeToEffectFastly").fadeTo("slow", 0.1);
326   
327  });
328});
329
330
331////////////////////// slide down //////////////////////////////
332
333// slide down by default 
334
335$(document).ready(function(){
336  $("#dbclickSlideDownEffcet").css("display","none");
337  $("#dbclickSlideDown").dblclick(function(){
338    $("#dbclickSlideDownEffcet").slideDown();
339  });
340});
341
342
343// slide down slowly 
344
345
346$(document).ready(function(){
347  $("#dbclickSlideDownEffcetSlowly").css("display","none");
348  $("#dbclickSlideDownSlowly").dblclick(function(){
349    $("#dbclickSlideDownEffcetSlowly").slideDown(3000);
350  });
351});
352
353
354// slide down fastly 
355
356
357$(document).ready(function(){
358  $("#dbclickSlideDownEffcetFastly").css("display","none");
359  $("#dbclickSlideDownFastly").dblclick(function(){
360    $("#dbclickSlideDownEffcetFastly").slideDown(-3000);
361  });
362});
363
364
365//////////////////// slide up ////////////////////////////////////
366
367// slide up by default 
368
369$(document).ready(function(){
370  $("#dbSlideUp").dblclick(function(){
371    $("#dbSlideUpEffect").slideUp();
372  });
373});
374
375
376// slide up slowly 
377
378
379$(document).ready(function(){
380  $("#dbSlideUpSlowly").dblclick(function(){
381    $("#dbSlideUpEffectSlowly").slideUp(3000);
382  });
383