forked from nuBuilder/nuBuilder
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathnubuilder4.sql
2781 lines (2619 loc) · 678 KB
/
nubuilder4.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
-- phpMyAdmin SQL Dump
-- version 5.2.1-dev+20221028.64e273f305
-- https://www.phpmyadmin.net/
--
-- Host: 127.0.0.1
-- Generation Time: Oct 24, 2024 at 11:56 PM
-- Server version: 8.2.0
-- PHP Version: 8.3.4
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
START TRANSACTION;
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
--
-- Database: `nubuilder4`
--
-- --------------------------------------------------------
--
-- Table structure for table `zzzzsys_access`
--
CREATE TABLE `zzzzsys_access` (
`zzzzsys_access_id` varchar(25) NOT NULL DEFAULT '',
`sal_code` varchar(50) DEFAULT NULL,
`sal_description` varchar(200) DEFAULT NULL,
`sal_group` varchar(80) DEFAULT NULL,
`sal_zzzzsys_form_id` varchar(25) DEFAULT NULL,
`sal_use_2fa` varchar(1) DEFAULT NULL,
`sal_json` mediumtext
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3;
-- --------------------------------------------------------
--
-- Table structure for table `zzzzsys_access_form`
--
CREATE TABLE `zzzzsys_access_form` (
`zzzzsys_access_form_id` varchar(25) NOT NULL DEFAULT '',
`slf_zzzzsys_access_id` varchar(25) DEFAULT NULL,
`slf_zzzzsys_form_id` varchar(25) DEFAULT NULL,
`slf_add_button` varchar(1) DEFAULT NULL,
`slf_save_button` varchar(1) DEFAULT NULL,
`slf_delete_button` varchar(1) DEFAULT NULL,
`slf_clone_button` varchar(1) DEFAULT NULL,
`slf_new_button` varchar(1) DEFAULT NULL,
`slf_print_button` varchar(1) DEFAULT NULL,
`slf_data_mode` varchar(2) DEFAULT NULL,
`slf_form_type` varchar(2) DEFAULT NULL,
`slf_json` mediumtext
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3;
-- --------------------------------------------------------
--
-- Table structure for table `zzzzsys_access_php`
--
CREATE TABLE `zzzzsys_access_php` (
`zzzzsys_access_php_id` varchar(25) NOT NULL,
`slp_zzzzsys_access_id` varchar(25) DEFAULT NULL,
`slp_zzzzsys_php_id` varchar(25) DEFAULT NULL,
`slp_json` mediumtext
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3;
-- --------------------------------------------------------
--
-- Table structure for table `zzzzsys_access_report`
--
CREATE TABLE `zzzzsys_access_report` (
`zzzzsys_access_report_id` varchar(25) NOT NULL,
`sre_zzzzsys_access_id` varchar(25) DEFAULT NULL,
`sre_zzzzsys_report_id` varchar(25) DEFAULT NULL,
`srp_json` mediumtext
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3;
-- --------------------------------------------------------
--
-- Table structure for table `zzzzsys_browse`
--
CREATE TABLE `zzzzsys_browse` (
`zzzzsys_browse_id` varchar(25) NOT NULL DEFAULT '',
`sbr_zzzzsys_form_id` varchar(25) DEFAULT NULL,
`sbr_title` varchar(100) DEFAULT NULL,
`sbr_display` varchar(512) DEFAULT NULL,
`sbr_align` char(1) DEFAULT NULL,
`sbr_format` varchar(300) DEFAULT NULL,
`sbr_order` int DEFAULT NULL,
`sbr_width` int DEFAULT NULL,
`sbr_json` mediumtext
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3;
--
-- Dumping data for table `zzzzsys_browse`
--
INSERT INTO `zzzzsys_browse` (`zzzzsys_browse_id`, `sbr_zzzzsys_form_id`, `sbr_title`, `sbr_display`, `sbr_align`, `sbr_format`, `sbr_order`, `sbr_width`, `sbr_json`) VALUES
('nu5bad6cb3746cc1b', 'nuuser', 'Language', 'sus_language', 'l', '', 50, 115, NULL),
('nu5bad6cb3747d41c', 'nuuser', 'Username', 'sus_login_name', 'l', '', 20, 150, NULL),
('nu5bad6cb37487772', 'nulaunchform', 'Type', 'sfo_type', 'l', '', 10, 100, NULL),
('nu5bad6cb3749102a', 'nulaunchform', 'Code', 'sfo_code', 'l', '', 20, 150, NULL),
('nu5bad6cb3749a37d', 'nulaunchform', 'Description', 'sfo_description', 'l', '', 30, 250, NULL),
('nu5bad6cb374a3c61', 'nutablookup', 'Tab', 'syt_title', 'l', '', 10, 200, NULL),
('nu5bad6cb374ae1fc', 'nutablookup', 'Form', 'sfo_description', 'l', '', 20, 150, NULL),
('nu5bad6cb374b7c3b', 'nutablookup', 'Code', 'sfo_code', 'l', '', 30, 160, NULL),
('nu5bad6cb374c102f', 'nutablookup', 'Type', 'sfo_type', 'l', '', 40, 100, NULL),
('nu5bad6cb374ca5aa', 'nuform', 'Code', 'sfo_code', 'l', '', 30, 250, NULL),
('nu5bad6cb374d3dbc', 'nuform', 'Description', 'sfo_description', 'l', '', 50, 380, NULL),
('nu5bad6cb374dd13c', 'nutab', 'Form', 'sfo_description', 'l', '', 20, 150, NULL),
('nu5bad6cb374f3729', 'nutab', 'Tab', 'syt_title', 'l', '', 10, 200, NULL),
('nu5bad6cb37505eea', 'nuobject', 'Form', 'sfo_description', 'l', '', 60, 210, NULL),
('nu5bad6cb37547640', 'nuobject', 'Tab', 'syt_title', 'l', '', 70, 135, NULL),
('nu5bad6cb375a3782', 'nuobject', 'Object', 'sob_all_id', 'l', '', 30, 235, NULL),
('nu5bad6cb375afa75', 'nuobject', 'Type', 'sob_all_type', 'l', '', 10, 65, NULL),
('nu5bad6cb375bd72e', 'nuobject', 'Label', 'sob_all_label', 'l', '', 50, 220, NULL),
('nu5bad6cb375c8f2a', 'nutab', 'Type', 'sfo_type', 'l', '', 40, 100, NULL),
('nu5bad6cb375d23fd', 'nunonsystemform', 'Code', 'sfo_code', 'l', '', 20, 150, NULL),
('nu5bad6cb375dbd9c', 'nunonsystemform', 'Description', 'sfo_description', 'l', '', 30, 250, NULL),
('nu5bad6cb375e5588', 'nunonsystemform', 'Type', 'sfo_type', 'l', '', 10, 100, NULL),
('nu5bad6cb375eeb8e', 'nuaccess', 'Code', 'sal_code', 'l', '', 10, 260, NULL),
('nu5bad6cb375f8259', 'nuaccess', 'Description', 'sal_description', 'l', '', 20, 400, NULL),
('nu5bad6cb376017c8', 'nuuser', 'Name', 'sus_name', 'l', '', 10, 195, NULL),
('nu5bad6cb3760ae9a', 'nuuser', 'Email', 'sus_email', 'l', '', 30, 295, NULL),
('nu5bad6cb376141d0', 'nuuser', 'Access Level', 'CONCAT(sal_code,\' : \',sal_description) AS acl', 'l', '', 40, 340, NULL),
('nu5bad6cb3761e561', 'nuprocedure', 'Code', 'sph_code', 'l', '', 10, 300, NULL),
('nu5bad6cb37627eb1', 'nuprocedure', 'Description', 'sph_description', 'l', '', 20, 580, NULL),
('nu5bad6cb37631164', 'nubuildreport', 'Code', 'sre_code', 'l', '', 10, 280, NULL),
('nu5bad6cb3763a5b4', 'nubuildreport', 'Description', 'sre_description', 'l', '', 20, 650, NULL),
('nu5bad6cb3764389f', 'nuform', 'Type', 'sfo_type', 'l', '', 20, 80, NULL),
('nu5bad6cb3764cb3b', 'nubuildreport', 'Launch From', 'CONCAT(sfo_code, \' - \', sfo_description)', 'l', '', 40, 580, NULL),
('nu5bad6cb376560e0', 'nurun', 'Type', 'type', 'l', '', 10, 100, NULL),
('nu5bad6cb3765f712', 'nurun', 'Code', 'code', 'l', '', 20, 100, NULL),
('nu5bad6cb37668ca4', 'nurun', 'Description', 'description', 'l', '', 30, 100, NULL),
('nu5bad6cb37672072', 'nurunlist', 'Type', 'run', 'l', '', 10, 100, NULL),
('nu5bad6cb3767b4d5', 'nurunlist', 'Code', 'code', 'l', '', 20, 150, NULL),
('nu5bad6cb376849b6', 'nurunlist', 'Description', 'description', 'l', '', 30, 250, NULL),
('nu5bad6cb3768dd0c', 'nudebug', 'Message', 'deb_message', 'l', '', 10, 700, NULL),
('nu5bad6cb37697a01', 'nuaccesslevelreport', '1', '1', 'l', '', 10, 1, NULL),
('nu5bad6cb376a1655', 'nutab', 'Code', 'sfo_code', 'l', '', 30, 100, NULL),
('nu5bad6cb376aaab5', 'nubrowse', 'Title', 'sbr_title', 'l', '', 20, 240, NULL),
('nu5bad6cb376b3dd7', 'nubuildreport', 'Group', 'sre_group', 'l', '', 30, 280, NULL),
('nu5bad6cb376bd159', 'nuprocedure', 'Group', 'sph_group', 'l', '', 30, 175, NULL),
('nu5bad6cb376c65d3', 'nurunreport', 'Code', 'sre_code', 'l', '', 20, 150, NULL),
('nu5bad6cb376cf902', 'nurunreport', 'Description', 'sre_description', 'l', '', 30, 250, NULL),
('nu5bad6cb376d900a', 'nurunreport', 'Group', 'sre_group', 'l', '', 40, 150, NULL),
('nu5bad6cb376e2688', 'nurunphp', 'Code', 'sph_code', 'l', '', 10, 205, NULL),
('nu5bad6cb376eb9d6', 'nurunphp', 'Description', 'sph_description', 'l', '', 20, 420, NULL),
('nu5bad6cb376f4f5f', 'nurunphp', 'Group', 'sph_group', 'l', '', 30, 150, NULL),
('nu5bad6cb376fe259', 'nurunreport', 'Form', 'sre_zzzzsys_form_id', 'l', '', 10, 0, NULL),
('nu5bad6cb37707660', 'nurunphp', 'Form ID', 'sph_zzzzsys_form_id', 'l', '', 40, 0, NULL),
('nu5bad6cb3771115d', 'nuobject', 'Form Id', 'zzzzsys_form_id', 'l', '', 40, 0, NULL),
('nu5bad6cb3771b003', 'nuprocedure', 'Launch From', 'CONCAT(sfo_code, \' - \', sfo_description)', 'l', '', 40, 405, NULL),
('nu5bad6cb37724836', 'nutimezone', 'Time Zone', 'stz_timezone', 'l', '', 10, 350, NULL),
('nu5bad6cb3772dd22', 'nutranslate', 'Language', 'trl_language', 'l', '', 10, 100, NULL),
('nu5bad6cb37737185', 'nutranslate', 'English', 'trl_english', 'l', '', 20, 345, NULL),
('nu5bad6cb377406bb', 'nutranslate', 'Translation', 'trl_translation', 'l', '', 30, 430, NULL),
('nu5bad6cb37749ba7', 'nucalcobjects', 'object.subform', 'CONCAT(thechild,IF(theparent = \'\',\'\',\'.\'),theparent)', 'c', '', 10, 200, NULL),
('nu5bad6cb377531c6', 'nucalcobjects', ' ', 'theform', 'l', '', 30, 0, NULL),
('nu5bad6cb37765e82', 'nucalcobjects', ' ', 'thevalue', 'l', '', 40, 2, NULL),
('nu5bad6cb3777c5ee', 'nucalcobjects', 'Object', 'thechild', 'l', '', 20, 0, NULL),
('nu5bad6cb377899bf', 'nuformat', 'Type', 'srm_type', 'l', '', 20, 150, NULL),
('nu5bad6cb3779593d', 'nuformat', 'Format', 'srm_format', 'l', '', 10, 190, NULL),
('nu5bad6cb377a01b0', 'nuobject', 'Input Type', 'sob_input_type', 'l', '', 20, 110, NULL),
('nu5bad6cb377a9e19', 'nubrowse', 'join', 'sbr_zzzzsys_form_id', 'l', '', 10, 0, NULL),
('nu5bad6cb377b6a58', 'nuform', 'Table', 'sfo_table', 'l', '', 60, 220, NULL),
('nu5bad6cb377c33ea', 'nufile', 'Code', 'sfi_code', 'l', '', 10, 200, NULL),
('nu5bad6cb377d2981', 'nufile', 'Description', 'sfi_description', 'l', '', 20, 350, NULL),
('nu5bad6cb3781d394', 'nufile', 'JSON', 'sfi_json', 'l', '', 30, 0, NULL),
('nu5bad6cb3783715c', 'nufile', 'Image', 'NULL', 'c', '', 40, 170, NULL),
('nu5bad6cb37849637', 'nufile', 'Group', 'sfi_group', 'l', '', 50, 150, NULL),
('nu5bad6cb3786de92', 'nuselect', 'Description', 'sse_description', 'l', '', 20, 1180, NULL),
('nu5bad6cb3787ca71', 'nulaunchable', 'Type', 'sfo_type', 'l', '', 10, 80, NULL),
('nu5bad6cb37889036', 'nulaunchable', 'Code', 'sfo_code', 'l', '', 20, 100, NULL),
('nu5bad6cb3789662e', 'nulaunchable', 'Description', 'sfo_description', 'l', '', 30, 400, NULL),
('nu5bad6cb378aa4cf', 'nulaunchable', 'Table', 'sfo_table', 'l', '', 40, 200, NULL),
('nu5bad6cb378b79f4', 'nudebug', 'When', 'deb_added', 'l', '', 30, 130, NULL),
('nu5bad6cb378c316b', 'nubuildtable', 'Code', 'srd_code', 'l', '', 10, 100, NULL),
('nu5bad6cb378cf278', 'nubuildtable', 'Description', 'srd_description', 'l', '', 20, 300, NULL),
('nu5f9aaac9719b88c', 'nucloner', 'Source Form', 'clo_form_source', 'l', '', 10, 190, NULL),
('nu5f9aaac971c84e2', 'nucloner', 'Destination Form', 'clo_form_dest', 'l', '', 20, 190, NULL),
('nu5f9aaac971ec977', 'nucloner', 'Dump SQL', 'REPLACE(REPLACE(clo_dump,1,\'✔\'),0,\'\')', 'l', '', 30, 75, NULL),
('nu5f9aaac971fc30c', 'nucloner', 'Without Objects', 'REPLACE(REPLACE(clo_objects,1,\'✔\'),0,\'\')', 'l', '', 40, 175, NULL),
('nu5f9c04dbab4da92', 'nucloner', 'Notes', 'clo_notes', 'l', '', 50, 350, NULL),
('nu5fd29810a628f4f', 'nunotes', 'Notes', 'not_title', 'l', '', 20, 720, NULL),
('nu5fd29810a62a421', 'nunotes', 'Category', 'noc_name', 'l', '', 10, 150, NULL),
('nu5fd3b22fa460a12', 'nunotescategroy', 'Category', 'noc_name', 'l', '', 10, 400, NULL),
('nu5fd3bb4dc0d2841', 'nunotes', 'Updated on', 'not_updated_on', 'l', '', 30, 145, NULL),
('nu5fd5b7fc8c163a3', 'nuuser', 'Code', 'sus_code', 'l', '', 60, 55, NULL),
('nu5fd5b7fc8de0c57', 'nuuser', 'Position', 'sus_position', 'l', '', 70, 160, NULL),
('nu5fd5b7fc8fad224', 'nuuser', 'Team', 'sus_team', 'l', '', 90, 120, NULL),
('nu5fd8d2459834722', 'nutranslate', 'Added by User', 'IF(zzzzsys_translate_id like \'nu%\',\'\',\'✔\')', 'l', '', 40, 140, NULL),
('nu5fd8ed3051616cd', 'nusession', 'Login Name', 'login', 'l', '', 20, 150, NULL),
('nu5fd8ed305162c77', 'nusession', 'Username', 'user', 'l', '', 30, 150, NULL),
('nu5fd8ed3051639e7', 'nusession', 'Login Time', 'login_time', 'l', '', 10, 150, NULL),
('nu5fdb1b5b3fd1be7', 'nucodesnippet', 'Code', 'cot_code', 'l', '', 20, 200, NULL),
('nu5fdb1b5b407a6f1', 'nucodesnippet', 'Description', 'cot_description', 'l', '', 40, 590, NULL),
('nu5fdb1b5b408a860', 'nucodesnippet', 'Language', 'cot_language', 'l', '', 10, 95, NULL),
('nu5fdb668a2947958', 'nuobject', 'Access', 'REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(sob_all_access,0,\'Editable\'),1,\'Readonly\'),2,\'Hidden\'),3,\'Hidden (User)\'),\'4\',\'Hidden (User) + Readonly\')', 'l', '', 80, 95, NULL),
('nu5fdb67accbbfa6d', 'nuobject', 'Validation', 'REPLACE(REPLACE(REPLACE(REPLACE(sob_all_validate, 0,\'None\'),1,\'No Blanks\'),2,\'No Duplicates\'),3,\'No Duplicates/Blanks\')', 'l', '', 90, 150, NULL),
('nu5fdb689731ed0db', 'nuobject', 'Align', 'CONCAT(UCASE(LEFT(sob_all_align, 1)),SUBSTRING(LOWER(sob_all_align),2))', 'l', '', 100, 60, NULL),
('nu5fdcc69ceb26325', 'nucodesnippet', 'Changed On', 'cot_updated_on', 'l', '', 50, 135, NULL),
('nu5fdfd91ab3a0d63', 'nusession', 'IP Address', 'ip', 'l', '', 40, 120, NULL),
('nu5fe0352637b2e4f', 'nuuser', 'Expires On', 'sus_expires_on', 'l', 'D|yyyy-mm-dd', 100, 105, NULL),
('nu5fe035b0d058339', 'nuuser', 'Department', 'sus_department', 'l', '', 80, 120, NULL),
('nu5fe179294648601', 'nuform', ' ', 'null', 'l', '', 10, 50, NULL),
('nu5fed7ae8d82586a', 'nuobjectgrid', 'Code', 'sfo_code', 'l', '', 10, 250, NULL),
('nu5ff0df492665285', 'nuaccess', 'Home', 'sfo_code', 'l', '', 40, 300, NULL),
('nu60fd004179b7f95', 'nuselect', 'Code', 'sse_code', 'l', '', 10, 545, NULL),
('nu61bb9991f1c4d45', 'nudebug', 'User', 'IFNULL(sus_name, deb_user_id)', 'l', '', 40, 170, NULL),
('nu61d7d0231fff5c5', 'nuaccess', 'Group', 'sal_group', 'l', NULL, 30, 280, NULL),
('nu635294e972c14ef', 'nuemailtemplate', 'Description', 'emt_description', 'l', '', 90, 270, NULL),
('nu635294e972c1e89', 'nuemailtemplate', 'Subject', 'emt_subject', 'l', '', 50, 210, NULL),
('nu635294e972c2625', 'nuemailtemplate', 'To', 'emt_to', 'l', '', 60, 95, NULL),
('nu635294e972c2d41', 'nuemailtemplate', 'Language', 'emt_language', 'c', '', 30, 125, NULL),
('nu635294e972c3457', 'nuemailtemplate', 'Form', 'sfo_description', 'l', NULL, 40, 185, NULL),
('nu635294e972c3b80', 'nuemailtemplate', 'Group', 'emt_group', 'l', NULL, 10, 130, NULL),
('nu635294e972c429c', 'nuemailtemplate', 'Code', 'emt_code', 'l', NULL, 20, 185, NULL),
('nu6353373db2e435c', 'nuemailtemplate', 'CC', 'emt_cc', 'l', NULL, 70, 115, NULL),
('nu6353373db60f3b6', 'nuemailtemplate', 'BCC', 'emt_bcc', 'l', NULL, 80, 110, NULL),
('nu63efd6559d98201', 'nuobjectevent', 'Event', 'sev_event', 'l', '', 30, 110, NULL),
('nu63efd6559e407ea', 'nuobjectevent', 'JavaScript', 'sev_javascript', 'l', '', 40, 540, NULL),
('nu63efd77886152f1', 'nuobjectevent', 'Object', 'sob_all_id', 'l', NULL, 20, 225, NULL),
('nu63efd7ebe965c50', 'nuobjectevent', 'Tab', 'syt_title', 'l', NULL, 10, 100, NULL),
('nu63f0aec187a8b7f', 'nunuobjectevent', 'Tab', 'IF (LEFT(syt_title,1) = \'|\', SUBSTR(syt_title, 2), syt_title)', 'l', NULL, 10, 100, NULL),
('nu63f0aec188423bf', 'nunuobjectevent', 'Object', 'sob_all_id', 'l', NULL, 20, 225, NULL),
('nu63f0aec188c5610', 'nunuobjectevent', 'Event', 'sev_event', 'l', NULL, 30, 110, NULL),
('nu63f0aec18949fac', 'nunuobjectevent', 'JavaScript', 'sev_javascript', 'l', NULL, 40, 620, NULL),
('nu647b47e3943fc57', 'nucodesnippet', 'Group', 'cot_group', 'l', NULL, 30, 135, NULL),
('nu648030319e8fa15', 'nuform', 'Group', 'sfo_group', 'l', NULL, 40, 100, NULL),
('nu65d777ae073fdbf', 'nupermissionitem', 'Description', 'pme_description', 'l', '', 30, 860, NULL),
('nu65d777ae076e987', 'nupermissionitem', 'Ident', 'pme_ident', 'l', '', 10, 235, NULL),
('nu65d7833b8766fd0', 'nupermissionitem', 'Group', 'pme_group', 'l', NULL, 20, 225, NULL),
('nu65e9ea5e7414ca0', 'nudebug', 'Flag', 'deb_flag', 'l', NULL, 20, 180, NULL),
('nu65f27499bd98728', 'nuphp', 'Code', 'sph_code', 'l', '', 10, 300, NULL),
('nu65f27499bd9ba79', 'nuphp', 'Description', 'sph_description', 'l', '', 20, 580, NULL),
('nu65f27499bd9dbce', 'nuphp', 'Group', 'sph_group', 'l', '', 30, 175, NULL),
('nu65f27499bd9f97e', 'nuphp', 'Launch From', 'CONCAT(sfo_code, \' - \', sfo_description)', 'l', '', 40, 405, NULL),
('nu65f28ff562c3640', 'nuemaillog', 'Sent At', 'eml_sent_at', 'l', '', 20, 125, NULL),
('nu65f28ff562c4440', 'nuemaillog', 'Created At', 'eml_created_at', 'l', '', 10, 125, NULL),
('nu65f28ff562c4cea', 'nuemaillog', 'State', 'eml_state', 'l', '', 30, 77, NULL),
('nu65f28ff562c532b', 'nuemaillog', 'To', 'eml_to', 'l', '', 40, 150, NULL),
('nu65f28ff562c5ad0', 'nuemaillog', 'Subject', 'eml_subject', 'l', '', 50, 249, NULL),
('nu65f28ff562c619f', 'nuemaillog', 'Error', 'eml_error', 'l', '', 60, 145, NULL),
('nu65f28ff562c6881', 'nuemaillog', 'Table', 'eml_table_name', 'l', '', 70, 120, NULL),
('nu65f28ff562c6ffd', 'nuemaillog', 'Tags', 'eml_tag', 'l', '', 80, 70, NULL),
('nu65f28ff562c768f', 'nuemaillog', 'Form', 'CONCAT(sfo_code, \': \', sfo_description)', 'l', '', 90, 154, NULL),
('nu65f28ff562c7d6c', 'nuemaillog', 'User', 'sus_name', 'l', '', 100, 120, NULL),
('nu65f28ff562c841d', 'nuemaillog', 'Record', 'eml_record_id', 'l', '', 110, 0, NULL);
-- --------------------------------------------------------
--
-- Table structure for table `zzzzsys_cloner`
--
CREATE TABLE `zzzzsys_cloner` (
`zzzzsys_cloner_id` varchar(25) NOT NULL,
`clo_form_source` varchar(25) DEFAULT NULL,
`clo_form_dest` varchar(25) DEFAULT NULL,
`clo_tabs` varchar(1000) DEFAULT NULL,
`clo_dump` tinyint(1) DEFAULT NULL,
`clo_objects` tinyint(1) DEFAULT NULL,
`clo_subforms_include` tinyint(1) DEFAULT NULL,
`clo_subforms` varchar(1000) DEFAULT NULL,
`clo_iframe_forms_include` tinyint(1) DEFAULT NULL,
`clo_iframe_forms` text,
`clo_tables_include` mediumtext,
`clo_tables_exclude` mediumtext,
`clo_new_pks` tinyint(1) DEFAULT NULL,
`clo_notes` text,
`clo_json` mediumtext
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3;
-- --------------------------------------------------------
--
-- Table structure for table `zzzzsys_code_snippet`
--
CREATE TABLE `zzzzsys_code_snippet` (
`zzzzsys_code_snippet_id` varchar(25) NOT NULL,
`cot_code` varchar(50) DEFAULT NULL,
`cot_description` text,
`cot_group` varchar(80) DEFAULT NULL,
`cot_url` varchar(500) DEFAULT NULL,
`cot_source_code` text,
`cot_language` varchar(20) DEFAULT NULL,
`cot_scope` varchar(50) DEFAULT NULL,
`cot_updated_on` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`cot_json` mediumtext
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3;
--
-- Dumping data for table `zzzzsys_code_snippet`
--
INSERT INTO `zzzzsys_code_snippet` (`zzzzsys_code_snippet_id`, `cot_code`, `cot_description`, `cot_group`, `cot_url`, `cot_source_code`, `cot_language`, `cot_scope`, `cot_updated_on`, `cot_json`) VALUES
('nu5fdb1a7c5b3d3b2', 'nuBeforeSave', 'Before a record is saved, nuBuilder checks for the existance of a function called nuBeforeSave().\nIf this exists it will use its return value to decide whether to continue saving the record.', NULL, 'https://wiki.nubuilder.cloud/index.php?title=Javascript#nuBeforeSave', 'function nuBeforeSave() {\n\n if ($(\'#cus_name\').val() === \'something\') { /* condition(s) here */\n\n nuMessage(\'Error message here.\');\n\n // Cancel saving \n return false;\n\n }\n\n // Continue Saving\n return true;\n\n}', 'JavaScript', '[\"0\"]', '2023-02-18 19:24:29', NULL),
('nu65f5feb50d4d041', 'nuDebug', NULL, NULL, NULL, 'nuDebug::setFlag(\'Test\')->log(\'Error: Failed to retrieve data..\');\n', 'PHP', '[\"3\"]', '2024-03-16 20:35:20', NULL);
-- --------------------------------------------------------
--
-- Table structure for table `zzzzsys_config`
--
CREATE TABLE `zzzzsys_config` (
`zzzzsys_config_id` varchar(25) NOT NULL,
`zzzzsys_setup_id` varchar(25) NOT NULL DEFAULT '1',
`cfg_order` int DEFAULT NULL,
`cfg_category` varchar(50) DEFAULT NULL,
`cfg_title` varchar(50) DEFAULT NULL,
`cfg_setting` varchar(1000) DEFAULT NULL,
`cfg_value` varchar(1000) DEFAULT NULL,
`cfg_description` varchar(1000) DEFAULT NULL,
`cfg_type` tinyint NOT NULL DEFAULT '1',
`cfg_effective` varchar(1) NOT NULL DEFAULT '1',
`cfg_json` mediumtext
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3;
--
-- Dumping data for table `zzzzsys_config`
--
INSERT INTO `zzzzsys_config` (`zzzzsys_config_id`, `zzzzsys_setup_id`, `cfg_order`, `cfg_category`, `cfg_title`, `cfg_setting`, `cfg_value`, `cfg_description`, `cfg_type`, `cfg_effective`, `cfg_json`) VALUES
('nu62a0a02105071cb', '1', 30, 'Admin', 'Objects Icon', 'nuObjectsIcon', 'true', 'Show Objects (Obj) icon', 2, '1', NULL),
('nu62a0a02105062e5', '1', 40, 'Admin', 'PHP Icons', 'nuPHPIcon', 'true', 'Show PHP (BE, BS, AS, BB) icons', 2, '1', NULL),
('nu62a0a02105079da', '1', 50, 'Admin', 'Properties Icon', 'nuPropertiesIcon', 'true', 'Show Properties (Prop) icon', 2, '1', NULL),
('nu62a0a0210506a8f', '1', 60, 'Admin', 'Refresh Icons', 'nuRefreshIcon', 'true', 'Show Refresh icon', 2, '1', NULL),
('nu62a0a0210505b68', '1', 10, 'Admin', 'Debug Icon', 'nuDebugIcon', 'true', 'Show Debug icon', 2, '1', NULL),
('nu62a0a02105011e4', '1', 20, 'Admin', 'Debug Mode', 'nuDebugMode', 'true', 'If the element does not exist when using functions such as nuGetValue() or nuSetValue(), a warning will be output to the Developer Console', 2, '1', NULL),
('nu62a0a02104dee61', '1', 70, 'Admin', 'Globeadmin User IDs', '$nuConfigDBGlobeadminUsers', '', 'User Ids with \'globeadmin\' permissions, separated by commas', 1, '1', NULL),
('nu62bdc792e1efb3a', '1', 80, 'Admin', 'Admin Home Form ID', '$nuConfigGlobeadminHome', 'nuhome', 'Home form ID for administrator. Default: nuhome', 1, '3', NULL),
('nu62a0a02104e96df', '1', 90, 'Admin', 'Enable DB Update', '$nuConfigEnableDatabaseUpdate', 'true', 'Enable updating the database within nuBuilder', 2, '1', NULL),
('nu62a0a02104e542c', '1', 100, 'Form', 'Additional 1 Label', '$nuConfigUserAdditional1Label', '', 'User Form: If not blank, rename the Label \'Additional 1\'', 1, '1', NULL),
('nu62a0a02104e64e6', '1', 110, 'Form', 'Additional 2 Label', '$nuConfigUserAdditional2Label', '', 'User Form: If not blank, rename the Label \'Additional 2\'', 1, '1', NULL),
('nu62a0a02104e72e8', '1', 120, 'Form', 'Code Label', '$nuConfigUserCodeLabel', '', 'User Form: If not blank, rename the Label \'Code\'', 1, '1', NULL),
('nu62a0a02104fba72', '1', 130, 'Form', 'Autosize Browse Columns', 'nuAutosizeBrowseColumns', 'true', 'Autosize columns to fit the document width', 2, '1', NULL),
('nu62a0a02104fd939', '1', 140, 'Form', 'Browse Pagination Info', 'nuBrowsePaginationInfo', 'default', 'Default Format is= \'{StartRow} - {EndRow} \' + nuTranslate(\'of\') + \' \' + \'{TotalRows}\'.', 1, '1', NULL),
('nu62a0a0210502912', '1', 150, 'Form', 'Mobile View', 'nuMobileView', 'true', 'Optimise view for mobile devices', 2, '1', NULL),
('nu634795d35e9b070', '1', 160, 'Form', 'Close After Save', 'nuEditCloseAfterSave', 'None', 'Close forms after saving', 1, '1', NULL),
('nu62a0a02104fc425', '1', 170, 'Form', 'Show Back Button', 'nuShowBackButton', 'false', 'Show a Back Button', 2, '1', NULL),
('nu62a0a02104f8bad', '1', 180, 'Browser', 'Enable Browser Back Button', 'nuEnableBrowserBackButton', 'true', 'Enable the browser\'s Back button', 2, '1', NULL),
('nu62a0a0210501e50', '1', 190, 'Browser', 'Browser Tab Title Prefix', 'nuBrowserTabTitlePrefix', 'nuBuilder', 'Prefix in the Browser Tab', 1, '1', NULL),
('nu62a0a02104ffe04', '1', 200, 'Browser', 'Show Browser Tab Title', 'nuShowBrowserTabTitle', 'true', 'Show the Form Title in the Browser Tab', 2, '1', NULL),
('nu62a0a02104dfbee', '1', 220, 'Settings', 'Title', '$nuConfigTitle', 'nuBuilder 4.5', 'nuBuilder Title', 1, '1', NULL),
('nu62a0a02104e8621', '1', 230, 'Settings', 'Backup Location', '$nuConfigBackupLocation', '', 'Backup location: Default: If left blank, backups are stored in /core/libs/mysqldump/dumps. Make sure to turn off directory listing!', 1, '1', NULL),
('nu62a0a02104ea45f', '1', 240, 'Settings', 'Keep Session Alive', '$nuConfigKeepSessionAlive', 'true', 'Use a timer to keep the session alive', 2, '2', NULL),
('nu62a0a02104eb409', '1', 250, 'Settings', 'Keep-alive Interval', '$nuConfigKeepSessionAliveInterval', '600', 'Keep-alive interval. Default 600 s (10 min)', 1, '2', NULL),
('nu62a0a02104ec632', '1', 260, 'Settings', 'MD5 Password Hash', '$nuUseMd5PasswordHash', 'false', 'If set to true, MD5 is used to hash passwords, otherwise password_hash(), which is recommended', 2, '1', NULL),
('nu62a0a02104f9b3c', '1', 270, 'Settings', 'Prevent Double Click', 'nuPreventButtonDblClick', 'true', 'Prevent double clicks on buttons', 2, '1', NULL),
('nu62a0a02104e08d7', '1', 280, 'Settings', 'Session Timeout', '$nuConfigTimeOut', '1440', 'Session Timeout. Default: 1440 (24h)', 3, '1', NULL),
('nu62a0a02104e45ba', '1', 290, 'Settings', 'Show JavaScript Errors', 'nuShowJSErrors', 'globeadmin', 'Show JavaScript errors in a popup in addition to the developer console', 1, '1', NULL),
('nu62a0a02104ff0bf', '1', 300, 'Settings', 'Show Logged-in User', 'nuShowLoggedInUser', 'true', 'Show the logged in User', 2, '1', NULL),
('nu62a0a02104fe599', '1', 310, 'Settings', 'Show nuBuilder Link', 'nuShowNuBuilderLink', 'false', 'Show the link to nubuilder com', 2, '1', NULL),
('nu62a0a02104fab5f', '1', 320, 'Settings', 'Show Properties on Middle Click', 'nuShowPropertiesOnMiddleClick', 'true', 'Show the Object Properties on middle mouse click', 2, '1', NULL),
('nu62a0a02104f4b8c', '1', 330, 'Includes', 'Include Apex Charts', '$nuConfigIncludeApexCharts', 'false', 'Include apex charts (libs/apexcharts)', 2, '2', NULL),
('nu62a0a02104f3db0', '1', 340, 'Includes', 'Include Google Charts', '$nuConfigIncludeGoogleCharts', 'true', 'Include external link to www.gstatic.com', 2, '2', NULL),
('nu62a0a02104f230f', '1', 350, 'Includes', 'Include TinyMCE', '$nuConfigIncludeTinyMCE', 'true', 'Include TinyMCE WYSIWYG', 2, '1', NULL),
('nu62a0a021050465f', '1', 360, '3rd Party', 'Ace Theme', 'nuAceTheme', 'monokai', 'Ace theme. Default: Monokai', 9, '0', NULL),
('nu62a0a021050464c', '1', 370, '3rd Party', 'Select2 Theme', 'nuSelect2Theme', 'default', 'select2 theme (default, classic) Default: default', 1, '0', NULL),
('nu62a0a0210503957', '1', 380, '3rd Party', 'Calendar Start of Week', 'nuCalendarStartOfWeek', '', 'nuCalendar: Start day of the week. 0:Sunday, 1:Monday', 3, '1', NULL),
('nu62a0a0210503958', '1', 390, '3rd Party', 'Calendar Week Numbers', 'nuCalendarWeekNumbers', 'None', 'nuCalendar: Week numbers to display', 1, '1', NULL),
('nu62a0a02104ed59e', '1', 400, '2FA', 'Admin 2FA', '$nuConfig2FAAdmin', 'false', 'Use 2FA authentication for administrator', 2, '1', NULL),
('nu62a0a02104ee392', '1', 410, '2FA', 'User 2FA', '$nuConfig2FAUser', 'false', 'Use 2FA authentication for users', 2, '1', NULL),
('nu62a0a02104ef4e4', '1', 420, '2FA', '2FA Form ID', '$nuConfig2FAFormID', 'nuauthentication', '2FA form ID. Default id: nuauthentication', 1, '1', NULL),
('nu62a0a02104f17ad', '1', 430, '2FA', 'Show Remember Me', '$nuConfig2FAShowRememberMe', 'false', 'Show a checkbox \'Remember me for X days\' in the authentication form', 2, '1', NULL),
('nu62a0a02104f06aa', '1', 440, '2FA', 'Token Validity Time', '$nuConfig2FATokenValidityTime', '168', '2FA Token Validity Time. Default: 7 days (7 * 24 hours)', 3, '1', NULL),
('nu62a0a02104e1480', '1', 450, 'Demo', 'Demo Mode', '$nuConfigIsDemo', 'false', 'Demo Mode: Restricted rights. Saving not permitted.', 2, '3', NULL),
('nu62a0a02104e340b', '1', 460, 'Demo', 'Demo User Password', '$nuConfigDemoDBGlobeadminPassword', '', 'Demo Mode: Demo User Password', 1, '1', NULL),
('nu62a0a02104e283a', '1', 470, 'Demo', 'Demo Username', '$nuConfigDemoDBGlobeadminUsername', '', 'Demo Mode: Specify a Demo Username and Password if $nuConfigIsDemo is set to true', 1, '1', NULL),
('nu62a0a02104e45bc', '1', 480, 'Demo', 'Allowed Form IDs', '$nuConfigDemoSavingAllowedIds', '', 'Demo Mode: Saving allowed in the specified form Ids. Separated by comma.', 1, '1', NULL),
('nu62a0a02104ffe05', '1', 210, 'Browser', 'Show Permalink URL', 'nuShowURLPermaLink', 'false', 'Show Permalink in URL bar', 2, '1', NULL);
-- --------------------------------------------------------
--
-- Table structure for table `zzzzsys_debug`
--
CREATE TABLE `zzzzsys_debug` (
`zzzzsys_debug_id` varchar(25) NOT NULL,
`deb_message` longtext,
`deb_flag` varchar(50) DEFAULT NULL,
`deb_added` int DEFAULT NULL,
`deb_user_id` varchar(25) DEFAULT NULL,
`deb_json` mediumtext
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3;
-- --------------------------------------------------------
--
-- Table structure for table `zzzzsys_email_log`
--
CREATE TABLE `zzzzsys_email_log` (
`zzzzsys_email_log_id` varchar(25) NOT NULL,
`eml_created_at` datetime DEFAULT CURRENT_TIMESTAMP,
`eml_sent_at` datetime DEFAULT NULL,
`eml_state` varchar(20) DEFAULT NULL,
`eml_from` varchar(70) DEFAULT NULL,
`eml_from_name` varchar(70) DEFAULT NULL,
`eml_to` varchar(4000) DEFAULT NULL,
`eml_cc` varchar(4000) DEFAULT NULL,
`eml_bcc` varchar(4000) DEFAULT NULL,
`eml_subject` varchar(250) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL,
`eml_body` text,
`eml_file` varchar(1000) DEFAULT NULL,
`eml_html` tinyint(1) DEFAULT NULL,
`eml_reply_to` varchar(100) DEFAULT NULL,
`eml_form_id` varchar(25) DEFAULT NULL,
`eml_user_id` varchar(25) DEFAULT NULL,
`eml_record_id` varchar(25) DEFAULT NULL,
`eml_importance` smallint DEFAULT NULL,
`eml_error` varchar(200) DEFAULT NULL,
`eml_table_name` varchar(100) DEFAULT NULL,
`eml_tag` varchar(70) DEFAULT NULL,
`eml_json` text
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3;
-- --------------------------------------------------------
--
-- Table structure for table `zzzzsys_email_template`
--
CREATE TABLE `zzzzsys_email_template` (
`zzzzsys_email_template_id` varchar(25) NOT NULL,
`emt_form_id` varchar(25) DEFAULT NULL,
`emt_group` varchar(100) DEFAULT NULL,
`emt_template` varchar(1) DEFAULT '0',
`emt_language` varchar(20) DEFAULT NULL,
`emt_description` varchar(200) DEFAULT NULL,
`emt_code` varchar(80) DEFAULT NULL,
`emt_body` mediumtext,
`emt_subject` varchar(1000) DEFAULT NULL,
`emt_to` varchar(1000) DEFAULT NULL,
`emt_cc` varchar(1000) DEFAULT NULL,
`emt_bcc` varchar(1000) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3;
--
-- Dumping data for table `zzzzsys_email_template`
--
INSERT INTO `zzzzsys_email_template` (`zzzzsys_email_template_id`, `emt_form_id`, `emt_group`, `emt_template`, `emt_language`, `emt_description`, `emt_code`, `emt_body`, `emt_subject`, `emt_to`, `emt_cc`, `emt_bcc`) VALUES
('nu64f9586941b545d', 'nuuser', 'nubuilder', '1', NULL, 'When \"Send welcome email\" is checked in the user form, a welcome email is sent to the new user.', 'nuWelcomeEmailTemplate', 'Dear #sus_name#\n\nWelcome to nuBuilder! Your temporary OTP is valid for a limited time for security reasons. \n\nFollow these steps to get started:\n\n1. Visit #NUBUILDER_URL# to access the login page.\n\n2. Enter your Username: #sus_login_name#\n\n3. Use the temporary OTP as your password: #check_password#\n\n4. Once logged in, create a more secure password that includes uppercase letters, lowercase letters, numbers, and special characters.\n\n5. Login with your new password.\n\nBest regards,\nAdministrator', ' Welcome to nuBuilder - Temporary OTP Password', '#sus_email#', NULL, NULL);
-- --------------------------------------------------------
--
-- Table structure for table `zzzzsys_event`
--
CREATE TABLE `zzzzsys_event` (
`zzzzsys_event_id` varchar(25) NOT NULL,
`sev_zzzzsys_object_id` varchar(25) DEFAULT NULL,
`sev_event` varchar(100) DEFAULT NULL,
`sev_javascript` varchar(3000) DEFAULT NULL,
`sev_json` mediumtext
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3;
--
-- Dumping data for table `zzzzsys_event`
--
INSERT INTO `zzzzsys_event` (`zzzzsys_event_id`, `sev_zzzzsys_object_id`, `sev_event`, `sev_javascript`, `sev_json`) VALUES
('nu5bad6cb37911d4e', 'nu5bad6cb363bb5b7', 'onchange', 'nuObjectTestChart();', NULL),
('nu5bad6cb3791fc33', 'nu5bad6cb3647b4cb', 'onchange', 'nuObjectTestChart();', NULL),
('nu5bad6cb3792a2a1', 'nu5bad6cb364add63', 'onchange', 'nuObjectTestChart();', NULL),
('nu5bad6cb37933f0c', 'nu5bad6cb36568f2b', 'onchange', 'nuObjectTestChart();', NULL),
('nu5bad6cb3793d45a', 'nu5bad6cb328be090', 'afterinsertrow', '$(\"[id$=\'syt_help\']\").addClass(\'js\')', NULL),
('nu5bad6cb3797b0a7', 'nu5bad6cb32930450', 'onclick', 'if (sre_zzzzsys_php_id.value === \'\') {\n nuMessage(nuTranslate(\'No table selected\'));\n return;\n}\nwindow.open(\'core/nureportdesigner.php?tt=\' + $(\"#sre_zzzzsys_php_id\").val() + \'&launch=\' + $(\"#sre_zzzzsys_form_id\").val());', NULL),
('nu5bad6cb3798566b', 'nu5bad6cb329fdf13', 'onchange', 'nuObjectTypeChanged();', NULL),
('nu5bad6cb3798ef56', 'nu5bad6cb3263f2a8', 'onchange', 'nuFormTypeChanged();', NULL),
('nu5bad6cb379988c5', 'nu5bad6cb34c005d7', 'onclick', 'nuPopPHP(event, \'BE\');', NULL),
('nu5bad6cb379a3d0a', 'nu5bad6cb34c4775c', 'onclick', 'nuPopPHP(event, \'BS\');', NULL),
('nu5bad6cb379b055d', 'nu5bad6cb34d23de5', 'onclick', 'nuPopPHP(event, \'AS\');', NULL),
('nu5bad6cb379bcdcc', 'nu5bad6cb34d7e1db', 'onclick', 'nuPopPHP(event, \'BD\');', NULL),
('nu5bad6cb379ec280', 'nu5bad6cb34e2eaec', 'onclick', 'nuPopPHP(event, \'AD\');', NULL),
('nu5bad6cb37a13d93', 'nu5bad6cb329136ba', 'onclick', 'nuPopPHP(event, \'BB\');', NULL),
('nu5bad6cb37a4de1d', 'nu5bad6cb34b050a0', 'onclick', 'nuPopPHP(event, \'AB\');', NULL),
('nu5bad6cb37a6a213', 'nu5bad6cb34e5cc53', 'onclick', 'nuPreview()', NULL),
('nu5bad6cb37af380e', 'nu5bad6cb34fa79c0', 'onchange', 'nuSetFormatType(1)', NULL),
('nu5bad6cb37b01a0f', 'nu5bad6cb32c4d9de', 'onchange', 'nuObjectInputTypeChanged(this.value)', NULL),
('nu5bad6cb37b0e5e5', 'nu5bad6cb3518a9c0', 'onclick', 'nuPreview(1)', NULL),
('nu5bad6cb37b274c5', 'nu5bad6cb325c8954', 'afterinsertrow', '$(\"[id$=\'sev_javascript\']\").addClass(\'js\')', NULL),
('nu5bad6cb37b32126', 'nu5bad6cb32b77005', 'onclick', 'nuPopPHP(event, \'BB\');', NULL),
('nu5bad6cb37b42053', 'nu5bad6cb32b9715a', 'onclick', 'nuPopPHP(event, \'BB\');', NULL),
('nu5bad6cb37b5e79f', 'nu5bad6cb35304ffd', 'onkeydown', 'nuFORM.scrollList(event, window.nuObjectFields);', NULL),
('nu5bad6cb37b6ab21', 'nu5bad6cb3568c736', 'onclick', 'nuPopup(\'nusample\',\'-1\');', NULL),
('nu5bad6cb37b75849', 'nu5bad6cb35a0a29e', 'onclick', 'nuSelectResizeSQL();', NULL),
('nu5bad6cb37b853f4', 'nu5bad6cb35a52325', 'onchange', 'nuSelectAddSQLTable(event);', NULL),
('nu5bad6cb37b91ff1', 'nu5bad6cb35b23983', 'onchange', '$(\'#sqlframe\').contents().find(\'body\').css(\'zoom\', this.value / 100)', NULL),
('nu5bad6cb37ba5b09', 'nu5bad6cb35ab1f0a', 'onchange', 'nuSelectWhereClauses();\nnuSelectBuildSQL();', NULL),
('nu5bad6cb37bb54ac', 'nu5bad6cb35afa1d0', 'onchange', 'nuSelectBuildSQL();', NULL),
('nu5bad6cb37bc1b7a', 'nu5bad6cb35ad7f0a', 'onchange', 'nuSelectBuildSQL();', NULL),
('nu5bad6cb37bcc8fb', 'nu5bad6cb35b860e2', 'onchange', 'nuSelectBuildSQL();', NULL),
('nu5bad6cb37bd72d2', 'nu5bad6cb35a8885a', 'onchange', 'nuSelectBuildSQL();', NULL),
('nu5bad6cb37beca3a', 'nu5bad6cb34ebf5bd', 'onfocus', 'onColumnPicker(event);\n$(\'#available_columns\').prop(\'selectedIndex\',-1);\nnuShowAvailableFields(true);', NULL),
('nu5bad6cb37c0be93', 'nu5bad6cb34f0470a', 'afterinsertrow', 'nuSetFFTable();\nnuDisableLastFFRow();\n\nconst l = nuSubformObject(\'obj_sf\').rows.length;\n\nvar rowPrefix = \'obj_sf\' + nuPad3(l == 1 ? 0: l - 1);\nnuSetFFTypeOptionsColor(rowPrefix + \'ff_type\');\nnuSelectRemoveEmpty(rowPrefix + \'ff_type\', \'-1\');\n\nnuEnableFFDataType();', NULL),
('nu5bad6cb37c22211', 'nu5bad6cb35cf61c0', 'onclick', 'nuPopSQL(event, \'BR\');', NULL),
('nu5bad6cb37c317ec', 'nu5bad6cb35d26e8f', 'onclick', 'nuPopSQL(event, \'DI\');', NULL),
('nu5bad6cb37c45b5b', 'nu5bad6cb35d48819', 'onclick', 'nuPopSQL(event, \'SE\');', NULL),
('666dc6b76e94fb2', '666dc5d36f67334', 'onchange', 'nuSelectFFObjects(event)', NULL),
('nu5bad6cb37c73e80', 'nu5bad6cb35dadfc5', 'onchange', 'nuOnFormTypeChanged();\n\nif (this.value == \'launch\') {\n nuSetValue(\'fastform_table\', \'\');\n nuShowAvailableFields(false);\n}', NULL),
('nu5bad6cb37ca3577', 'nu5bad6cb35b23983', 'afterinsertrow', 'nuSelectSetSFCB();', NULL),
('nu5bad6cb37ccc397', 'nu5bad6cb35ff457a', 'onclick', 'nuPopPHP(event, \'BB\');', NULL),
('nu5bad6cb37cda28d', 'nu5bad6cb366e865e', 'onchange', 'nuSetFFTable();', NULL),
('nu5bad6cb37ce6dae', 'nu5bad6cb3670b7db', 'onclick', 'nuBuildReportPickTableType();', NULL),
('nu5bd8f419d886e17', 'nu5bad6cb327ab3b8', 'afterinsertrow', 'nuFromDefaultDescription();\n\nlet l = nuSubformObject(\'zzzzsys_browse_sf\').rows.length;\nvar rowPrefix = \'zzzzsys_browse_sf\' + nuPad3(l == 1 ? 0 : l - 1);\nnuFormUpdateDisplayDatalists(rowPrefix + \'sbr_display\');', NULL),
('nu5f7129d5424e73c', 'nu5f711b9351ae752', 'onchange', 'nuCSVTransfer(this.value)', NULL),
('nu5fab41c055475d8', 'nu5bad6cb3513b16c', 'onchange', 'nuAddToFormat();', NULL),
('nu5fab41d07a80c9b', 'nu5fab2f8952634e4', 'onchange', 'nuAddToFormat();', NULL),
('nu5fab41e0265f1e4', 'nu5fab2fa48a504e4', 'onchange', 'nuAddToFormat();', NULL),
('nu5fab41f0d3d7845', 'nu5fab2fb6e66f19b', 'onchange', 'nuAddToFormat();', NULL),
('nu5fd6f92d9463a40', 'nu5fd6f828a1e42b1', 'onclick', 'nuSelectSetIndex(\'sob_all_cloneable\',1)', NULL),
('nu5fd6f95baab794b', 'nu5fd6f7819d659bc', 'onclick', 'nuSelectSetIndex(\'sob_all_cloneable\',2);', NULL),
('nu5fd6fa042a999b1', 'nu5fd6fa0428adcd3', 'onclick', 'nuSelectSetIndex(\'sob_all_align\',1);', NULL),
('nu5fd6fbe95e24346', 'nu5fd6fbe95c2c61d', 'onclick', 'nuSelectSetIndex(\'sob_all_align\',2);', NULL),
('nu5fd6fc4a7f52ae6', 'nu5fd6fc4a7ccf484', 'onclick', 'nuSelectSetIndex(\'sob_all_align\',3);', NULL),
('nu5fd6fdad3ae76f5', 'nu5fd6fdad38e8f5d', 'onclick', 'nuSelectSetIndex(\'sob_all_validate\',2);', NULL),
('nu5fd6fddaeb44cc3', 'nu5fd6fddae953fd3', 'onclick', 'nuSelectSetIndex(\'sob_all_access\',3);', NULL),
('nu5fd6ff14af381f2', 'nu5fd6ff14ad0870d', 'onclick', 'nuSelectSetIndex(\'sob_all_access\',1);', NULL),
('nu5fd6ff6a110d480', 'nu5fd6ff6a0ef6017', 'onclick', 'nuSelectSetIndex(\'sob_all_access\',2);', NULL),
('nu5fd757f92870577', 'nu5fd757f9266ea99', 'onclick', 'nuSelectSetIndex(\'sob_all_validate\',1);', NULL),
('nu5fd7583fbf9bde0', 'nu5fd7583fbdb0750', 'onclick', 'nuSelectSetIndex(\'sob_all_validate\',3);', NULL),
('nu5fdbe04a014fa', 'nu5fdbe049f365a', 'onclick', 'if (nuIsSaved()) { var fid = nuSubformRowId(this); nuPopup(\'nuObject\', fid);} else { nuMessage([\"Please save any changes before leaving this form.\"])} ', NULL),
('nu5fdcde23d59bc7a', 'nu5fdcde23d2db265', 'onchange', 'nuFormColor();', NULL),
('nu5fddb7fc8b5b539', 'nu5bad6cb32a1c004', 'oninput', 'nuObjectShowDataType();', NULL),
('nu5fdf83039b7f6d6', 'nu5fee9ff762770', 'afterinsertrow', 'nuProcUpdateAclCount();', NULL),
('nu5fe039482957fb0', 'nu5fe038d847fbb70', 'onchange', 'nuUserTogglePasswordVisibility();', NULL),
('nu5fe06a07c9e9567', 'nu5fe0547b841fb32', 'onclick', 'nu2FAVerify();', NULL),
('nu5fe1b140081ce8c', 'nu5fe1aeac3363ae7', 'onclick', 'nuSetupIncDBVersion();', NULL),
('nu5fe1b155b2648e4', 'nu5fe1b155aed9e46', 'onclick', 'nuSetupIncFilesVersion();', NULL),
('nu5fecdc0b9678ebf', 'nu5fa249be5df47ad', 'onclick', 'cloSubformsChecked();', NULL),
('nu5fecde321f82513', 'nu5fa959f97244564', 'onclick', 'cloIframeFormsChecked();', NULL),
('nu5fed986754a8a23', 'nu5fed8c73e475b16', 'onclick', 'nuForm(\"nuobjectgrid\",nuCurrentProperties().record_id,\"\", \"\", 2)', NULL),
('nu5ff0364d11e7498', 'nu5ff0352f501ba8c', 'onclick', 'if ($(this).prop(\'checked\')) { nuEnable(\'sob_calc_formula\'); $(\'#sob_calc_formula\').focus(); } else { nuDisable(\'sob_calc_formula\'); }', NULL),
('nu5ff0b31354688aa', 'nu5bad6cb32e1a66a', 'onchange', 'nuObjectSetLookupWidth();', NULL),
('nu5ff0b329e242e25', 'nu5bad6cb32e47d18', 'onchange', 'nuObjectSetLookupWidth();', NULL),
('nu5ff32fdade879d8', 'nu5ff32fdadb8f46f', 'onclick', 'var form_id = $(\'#sob_lookup_zzzzsys_form_id\').val(); if (form_id !== \'\') { nuForm(\'nuform\',form_id,\'\',\'\',2);} else { nuMessage([nuTranslate(\'Select a (Lookup) Form first.\')]); }', NULL),
('nu5ff4a8cb2258088', 'nu5ff4a82b76d96d6', 'onclick', 'if (!nuIsSaved()) {\n nuTranslate(\'Save the settings first\');\n} else {\n nuPopup(\'nuemailtest\',\'-1\')\n}', NULL),
('nu5ff4b6479adf58a', 'nu5ff4b5f53f85f69', 'onclick', 'nuemailtestLoadDatafromLS();', NULL),
('nu5ff4b67643ec503', 'nu5ff4b56934a1973', 'onclick', 'nuemailtestSaveDatatoLS();', NULL),
('nu5ff5b7b1bb92f1a', 'nu5ff5b7b1b918a4b', 'onclick', 'var form_id = $(\'#sob_run_zzzzsys_form_id\').val(); if (form_id !== \'\') { nuForm(\'nuform\',form_id,\'\',\'\',2);} else { nuMessage([nuTranslate(\'Select a (Run) Form first.\')]); }', NULL),
('nu5ff727ad73226b8', 'nu5ff727ad6f17b85', 'onclick', 'nuForm(\'nuaccess\',sus_zzzzsys_access_id.value,\'\',\'\',2);', NULL),
('nu60013e0629f72ae', 'nu60013e0626d80ce', 'onclick', 'var form_id = $(\'#sob_subform_zzzzsys_form_id\').val(); if (form_id !== \'\') { nuForm(\'nuform\',form_id,\'\',\'\',2);} else { nuMessage([nuTranslate(\'Select a Form (Subform) first.\')]); }', NULL),
('nu60028804f2e662b', 'nu60028804f043b86', 'onclick', 'var objType = nuGetValue(\'sob_all_type\',\'text\')\nif (objType !== \'\') { \n nuSelectTabByTitle(objType); \n}', NULL),
('nu60510d8a0a1478a', 'nu60510d8a0496fd5', 'onclick', 'nu2FASendToken();', NULL),
('nu605b66293122778', 'nu605b522d65c642a', 'onclick', 'nuSelectSetIndex(\'sob_all_validate\',4);', NULL),
('nu606590a77f7de08', 'nu5bad6cb32d8ec39', 'onchange', 'nuObjectRunMethodChanged();', NULL),
('nu6065ae6429db0bd', 'nu5bad6cb32a1c004', 'onblur', '$(this).val($(this).val().replace(/\\s/g,\"\"));', NULL),
('nu6065aed581aba95', 'nu5bad6cb326a4367', 'onblur', '$(this).val($(this).val().replace(/\\s/g,\"\"));', NULL),
('nu606acbb9c729da3', 'nu5bad6cb327ca554', 'onchange', 'nuFromDefaultDescription();\nnuFormOnTitleDisplayChanged(event);', NULL),
('nu606ad5daa5324de', 'nu5bad6cb327ee8dc', 'onchange', 'nuFormOnTitleDisplayChanged(event);', NULL),
('nu606adc62e50275d', 'nu5bad6cb327ee8dc', 'onblur', 'nuFormOnDisplayBlur(event);', NULL),
('nu606c4b2a1170912', 'nu606c448e53cd465', 'onclick', 'nuAvailableFieldsOnClick(event, this);', NULL),
('nu606c7f4b120254f', 'nu606c448e53cd465', 'onblur', 'nuShowAvailableFields(false);', NULL),
('nu606c9e7a0af15b3', 'nu5bad6cb34ebf5bd', 'onkeyup', 'nuShowAvailableFields(true);\nnuSetDataUserModified(this, event);\nif (nuSubformHandleArrowKeyEvent(window.event)) window.event.preventDefault(); \n', NULL),
('nu606eec916480f6b', 'nu5bad6cb34ebf5bd', 'onblur', 'nuOnBlurFFField(this, event);', NULL),
('nu606f29e74fa90bc', 'nu5bad6cb34ee220e', 'onblur', 'nuOnBlurFFLabel(this, event);', NULL),
('nu606f64f83b36dbd', 'nu5bad6cb34ee220e', 'onkeydown', 'nuSetDataUserModified(this, event);', NULL),
('nu606f7854568b337', 'nu606f399ea7b558f', 'onchange', 'if(this.value.length !== 1){\n nuChangePrefix(this.value);\n}\n', NULL),
('nu6072b7075d65a8e', 'nu5bad6cb34ee220e', 'onkeyup', 'if (nuSubformHandleArrowKeyEvent(window.event)) {\n window.event.preventDefault(); \n}', NULL),
('nu607459b941be49a', 'nu60741457ef6f315', 'onchange', 'nuOnChangeFFType(this, event);', NULL),
('nu60758a15ecc02aa', 'nu5bad6cb34f0470a', 'clickdelete', 'nuClickDelete(event);', NULL),
('nu60dc7ad44f85974', 'nu5bad6cb328dde63', 'onchange', 'nuFormOnTabsTitleChanged(event) ', NULL),
('nu60e4d4c999e5e4a', 'nu5bad6cb3278653c', 'onchange', 'nuFormUpdateDisplayDatalists();', NULL),
('nu60e61e9c56651ae', 'nu5bad6cb327ee8dc', 'ondblclick', 'nuOpenAce(\'SQL\', this.id);', NULL),
('nu60e96ee3e5dcc3f', 'nu60e96ee3e51e1bb', 'onclick', 'var n = Number(sob_all_top.value) + (event.ctrlKey ? -27 : 27);\n$(\'#sob_all_top\').val(n < 0 ? 0 : n).change();', NULL),
('nu60e9719f5e49e66', 'nu60e9719f5d9bc8b', 'onclick', 'nuSetValue(\'sob_all_height\', this.innerHTML)', NULL),
('nu60e971e1683aaa1', 'nu60e971e1676ca2d', 'onclick', 'nuSetValue(\'sob_all_height\', this.innerHTML)', NULL),
('nu60e97221bc52ce0', 'nu60e97221bb95958', 'onclick', 'nuSetValue(\'sob_all_height\', this.innerHTML)', NULL),
('nu60e9724c20900a9', 'nu60e9724c1fdd7c5', 'onclick', 'nuSetValue(\'sob_all_height\', this.innerHTML)', NULL),
('nu60e9732db35a7f1', 'nu60e9732db2a4125', 'onclick', 'nuSetValue(\'sob_all_width\', this.innerHTML)', NULL),
('nu60e973518b05887', 'nu60e973518a26f21', 'onclick', 'nuSetValue(\'sob_all_width\', this.innerHTML)', NULL),
('nu60e97365095aa8c', 'nu60e9736508a9b31', 'onclick', 'nuSetValue(\'sob_all_width\', this.innerHTML)', NULL),
('nu60e973b671d891a', 'nu60e973b6711a030', 'onclick', '$(\'#sob_all_width\').val(400).change();', NULL),
('nu60e974dd2eac661', 'nu60e974dd2df427c', 'onclick', 'nuSetValue(\'sob_all_width\', this.innerHTML)', NULL),
('nu60e97510251557f', 'nu60e975102462aff', 'onclick', 'nuSetValue(\'sob_all_height\', this.innerHTML)', NULL),
('nu60e9756969dff71', 'nu60e97569692fac5', 'onclick', 'nuSetValue(\'sob_all_width\', this.innerHTML)', NULL),
('nu60e975e9337f224', 'nu60e975e932d74ef', 'onclick', 'var n = Number(sob_all_left.value) + (event.ctrlKey ? -50 : 50);\n$(\'#sob_all_left\').val(n < 0 ? 0 : n).change();', NULL),
('nu62cca90dc177496', 'nu62cca90dbd7f63c', 'onclick', 'nuHomeMenuClick(this, event, \'Report\');', NULL),
('nu60f901bdb3a8e1c', 'nu60f8fd56e325e76', 'onclick', 'var n = Number(sob_all_top.value) + (event.ctrlKey ? -50 : 50);\n$(\'#sob_all_top\').val(n < 0 ? 0 : n).change();', NULL),
('nu6105ea043106d4b', 'nu5bad6cb34ebf5bd', 'onchange', 'nuOnChangeFFField(this,event);', NULL),
('nu6106cb38a3b8fd9', 'nu6106cb38a30a9b5', 'onclick', 'nuSubformSetHeight(\'obj_sf\');', NULL),
('nu610a662e2f1de1c', 'nu610a662e2e599c2', 'onclick', 'nuFormJSSelectCustomCode(this,\'sfo_javascript\');', NULL),
('nu610a6655102c6ab', 'nu610a66550f61129', 'onclick', 'nuFormJSSelectCustomCode(this,\'sfo_browse_javascript\');', NULL),
('nu610a667b9cc7d66', 'nu610a667b9beba56', 'onclick', 'nuFormJSSelectCustomCode(this,\'sfo_edit_javascript\');', NULL),
('nu61b4d4cd893e097', 'nu61b4c3e0687b434', 'onchange', 'onAttributeChanged(this.value);', NULL),
('nu61b84e0ed3b2a22', 'nu61b8493549e0d7b', 'oninput', 'this.value = this.value.toLowerCase();\n', NULL),
('nu61b9eafed4466bc', 'nu61b9eafed36e281', 'onclick', 'nuForm(\'nuform\', id, \'\', \'\', 2);', NULL),
('nu61c81c6a559567c', 'nu606f399ea7b558f', 'onblur', 'if (this.value.length == 1) {\n nuMessage(\'The Prefix must be at least 2 characters long.\');\n this.focus();\n}', NULL),
('nu61ca74b0dc425d6', 'nu5bad6cb326a4367', 'onchange', 'sfo_primary_key.value = \'\';\nnuRefreshDisplayObject(\'sfo_primary_key_display\');\n', NULL),
('nu61cac33aabe71c9', 'nu61cac33aab3fc06', 'onclick', 'nuSubformSetHeight(\'zzzzsys_browse_sf\');', NULL),
('nu61cf1475d8871f4', 'nu6167e23e89d6ec8', 'onchange', 'if (this.value.trim() != \'\' && sob_all_style_type.value == \'\') {\n nuSetValue(\'sob_all_style_type\',\'CSS\');\n}', NULL),
('nu61d08c62cd26c2d', 'nu5fa0ff78688e2c5', 'onclick', '$(\'#clo_subforms_include\').click();', NULL),
('nu61d6c2af30be52d', 'nu61d6c2590b6dac1', 'onclick', 'nuCopyToClipboard($(\'#sfo_table\'));\n', NULL),
('nu61e55e8e6e3d2db', 'nu61e55dd85d03afb', 'onchange', 'nuObjectPreviewIcon(\'sob_input_icon_preview_html\',this.value);', NULL),
('nu61e9302bbe52aee', 'nu5bad6cb33b84bf4', 'onchange', '$(\'#sus_name\').addClass(\'nuEdited\');', NULL),
('nu61ea6d91bab0c60', 'nu61ea6d4bd6e9a49', 'onclick', 'nuObjectSetJSON();', NULL),
('nu6257b7628d3112d', 'nu6257b7628ac46ea', 'onclick', 'nuFormJSSelectCustomCode(this,\'sfo_style\');', NULL),
('nu6291b8c4eb47d59', 'nu5f9aaac963ecc49', 'onchange', 'enableDisableCheckboxes();', NULL),
('nu62b14c52a3c3649', 'nu62aee449c676cfb', 'onchange', 'nuSetupOnConfigValueChanged(this);\n', NULL),
('nu62b550a365d0303', 'nu62aee449c676cfb', 'onkeydown', 'if (nuSubformHandleArrowKeyEvent(event)) {\n event.preventDefault(); \n}', NULL),
('nu62b3336a1c13144', 'nu62b331e0b311799', 'onclick', 'if (confirm(nuTranslate(\"Import settings from nuconfig.php.\") + \"\\r\\n\" + nuTranslate(\"All existing configuration settings will be overwritten. Continue?\")) === true) {\n nuSetValue(\'configImport\', 1);\n window.configImport = 1;\n nuSaveAction();\n}', NULL),
('nu62cca90dc17fd49', 'nu62cca90dbda09a7', 'onclick', 'nuHomeMenuClick(this, event, \'Procedure\');', NULL),
('nu62cca90dc182849', 'nu62cca90dbe23269', 'onclick', 'nuVendorLogin(\'PMA\');', NULL),
('nu62cca90dc184bd2', 'nu62cca90dbe72fcf', 'onclick', 'nuHomeMenuClick(this, event, \'Form\');', NULL),
('nu62cca90dc186d3d', 'nu62cca90dbe7d11b', 'onclick', 'nuHomeMenuClick(this, event, \'Database\');', NULL),
('nu62cca90dc1890d7', 'nu62cca90dbea4053', 'onclick', 'nuHomeMenuClick(this, event, \'Setup\');', NULL),
('nu62da0f388a43beb', 'nu62da06d4b6a76ab', 'onchange', 'nuObjectFileUploadScript();', NULL),
('nu62daaffe4387423', 'nu62daaede874a146', 'onclick', 'nuVendorLogin(\'TFM\');', NULL),
('nu635294e973392b3', 'nu635294e972ea5f4', 'onclick', 'nuEmailTemplateAddSelectedField();', NULL),
('nu6352f62cbd9ef7e', 'nu635294e972f108a', 'onfocus', 'activeObj = $(this);', NULL),
('nu6352f63674f1a7d', 'nu635294e972f78da', 'onfocus', 'activeObj = $(this);', NULL),
('nu6352f64067eaf4b', 'nu635294e972ef846', 'onfocus', 'activeObj = $(this);', NULL),
('nu6352f648ccc7449', 'nu635294e972f2b2d', 'onfocus', 'activeObj = $(this);', NULL),
('nu6352f6531f581e1', 'nu635294e972e8dec', 'onfocus', 'activeObj = $(this);', NULL),
('nu63ab0c5d96775e6', 'nu5bad6cb352dce42', 'onchange', 'nuFFSetPrimaryKey();', NULL),
('nu63ed219d9cd6fd4', 'nu63ed219d9bc105c', 'onclick', 'nuSelectSelectAll(\'clo_tables_include\')\n', NULL),
('nu63ed261eeab8605', 'nu63ed261ee9bac3f', 'onclick', 'unselectAllOptionsStartingWith(\'clo_tables_include\',\'zzzzsys_\');\n$(\"#clo_tables_include\").trigger(\"change\");', NULL),
('nu63eda77978cca5b', 'nu63eda77977c63cb', 'onclick', 'const tables = selectToValueArray(\'clo_tables_include\');\n nuSetProperty(\'nubackup_tables_include\', tables.length === 0 ? \'\' : JSON.stringify(tables));\n\nnuRunBackup();', NULL),
('nu64043c9c94fc43f', 'nu62cca90dbee3839', 'onclick', 'nuHomeMenuClick(this, event, \'Notes\');', NULL),
('nu64ec0d598b645d8', 'nu64ec098aac06a37', 'onclick', 'nuPWGenRefreshPassword();', NULL),
('nu64ec11f0da0490b', 'nu64ec098aac5c389', 'onnuload', 'this.value = \'15\';', NULL),
('nu64ec130ceea44e9', 'nu64ec098aacb9761', 'onnuload', 'nuSetValue(this.id, true);', NULL),
('nu64ec131a9b1c47c', 'nu64ec098aad152f4', 'onnuload', 'nuSetValue(this.id, true);', NULL),
('nu64ec1339016e390', 'nu64ec098aad6e797', 'onnuload', 'nuSetValue(this.id, true);', NULL),
('nu64ec1346d3c742d', 'nu64ec098aadca883', 'onnuload', 'nuSetValue(this.id, true);', NULL),
('nu64f6d46644c5699', 'nu64f6d3792987c59', 'onnuload', 'if (nuIsNewRecord()) {\n nuSetValue(this.id, true);\n nuHasNotBeenEdited();\n}', NULL),
('nu64f955a34bce023', 'nu64f955a34a6e245', 'onnuload', 'if (nuIsNewRecord()) {\n nuSetValue(this.id, true);\n nuHasNotBeenEdited();\n}', NULL),
('nu64fbaa39556365d', 'nu64ec098aacb9761', 'onchange', 'nuPWGenRefreshPassword();', NULL),
('nu64fbaa4ec287913', 'nu64ec098aad152f4', 'onchange', 'nuPWGenRefreshPassword();', NULL),
('nu64fbaa6e9b23e1b', 'nu64ec098aad6e797', 'onchange', 'nuPWGenRefreshPassword();', NULL),
('nu64fbaa817e617e0', 'nu64ec098aadca883', 'onchange', 'nuPWGenRefreshPassword();', NULL),
('nu64fbaab3ba63dca', 'nu64ec098aac5c389', 'onchange', 'nuPWGenRefreshPassword();', NULL),
('nu650470120c267f7', 'nu650470120b7dd7a', 'onclick', 'nuRunPHPHidden(\'NUCREATETESTUSER\');', NULL),
('nu651222da798812d', 'nu5bad6cb32b5c449', 'onchange', 'nuObjectDisplayAccessCondition();', NULL),
('nu65d7dde30d8086f', 'nu65d777adf04fa5f', 'oninput', '$(this).val(function(_, value) {\n return value.replace(/[\\s+*\"%\\/()=?`#;:{}\\\\]/g, \'\'); \n});', NULL),
('nu65dfd8995dfa123', 'nu62cca90dbe98b95', 'onclick', 'nuHomeMenuClick(this, event, \'User\');', NULL),
('6667647331dc096', 'nu5bad6cb34fa79c0', 'onnuload', 'if (nuIsNewRecord()) {\n nuSetValue(this.id, \'Date\');\n}', NULL),
('65f291ad06862d1', 'nu6352a9c47ec423e', 'onclick', 'nuHomeMenuClick(this, event, \'Email\');', NULL),
('nu65f8d9f0e0f8d65', 'nu65f8d60b0cacd08', 'onkeyup', 'if (event.key === \'Enter\' && event.ctrlKey) {\n nuOutputEval();\n}', NULL),
('66302f1914c47d2', 'nu5bad6cb32a36c23', 'onblur', 'if (this.value === \'\' && sob_all_type.value === \'subform\') $(this).val(\' \').change();', NULL);
-- --------------------------------------------------------
--
-- Table structure for table `zzzzsys_file`
--
CREATE TABLE `zzzzsys_file` (
`zzzzsys_file_id` varchar(25) NOT NULL,
`sfi_code` varchar(300) DEFAULT NULL,
`sfi_description` varchar(300) DEFAULT NULL,
`sfi_group` varchar(300) DEFAULT NULL,
`sfi_json` longtext,
`sfi_system` char(1) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3;
--
-- Dumping data for table `zzzzsys_file`
--
INSERT INTO `zzzzsys_file` (`zzzzsys_file_id`, `sfi_code`, `sfi_description`, `sfi_group`, `sfi_json`, `sfi_system`) VALUES
('nu5bad6cb37d02d01', 'nubuilder', 'Logo', 'nubuilder', '{\"file\":\"ZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFLc0FBQUErQ0FZQUFBQlVRK3ZwQUFBQUNYQklXWE1BQUJZbEFBQVdKUUZKVWlUd0FBQUFCM1JKVFVVSDRRa2FGaklXSW5lSjd3QUFEaU5KUkVGVWVOcnRuWHQwVmRXZHh6Ky9jMjRTREkvY1JHUUVIL1d4ckFwVDYyUFZCMUt4dGVPcWRvb1FHclNEdFlJSWdWbXVsclpNeHlrelZNZDIydFdwenVCQURRWE1XTmU0SkNhcHNUaUY2Um9meXlxMkkzMkF1S3d3Z3c5SUVEQTNQQkx1NDV6Zi9ISE92ZmZrNXB4N0UvSzg1SHl6ZHU2OVorK3p6MzU4OTIvLzltOC9qcWdxSVVJVUE0eXdDRUtFWkEwUklpUnJpSkNzSVVLTWNFUUNmZXJsUmt4bVlISm1qMUEyWUNGWVlMdWZKQkVTUUJ4SUlDUVFrb0RTYVJqczRoaFBzMXFQcEtPNHJWbm1Zek94VzhzUnVrVDR1U3EzV2pERlVNb1JmbTladlBaY2plNERxRzZXMHkyYk8zT1Rxd1p2dE16UlYyWTF5YWRFbWQ0am84S214bXB0bFliMmN6SGxpUUxsWWlQU2h0cnZnL0VPWlRUcUZ5cmFCNk1DcExIOVI0aDh5dGZUaXQ2RTJiRUE5RTUvZjN1WjFsVHRLdmlNaG8rbVlocHJnMnBhcTZQMXhVdldmNWUvb1pUWm1DaW1LMys5TXRoeTcweUJZVGtrVlVXd2tReVJEY1Q5UTJFR1k2bVdsYktJaHh6U2lYS2pDaGQwSTV5aU5ud0pNQVZRQWVBNncyVHBiVTN5WXBuRjkxTXdRVXhtNVNiWlZMcUFWeFF1RXVucG4xUitCYlJpMk9WZ3ppeFlNcXFBQUFweGVWU2FZMCtUc3I2ak5hZnZHK0MrN1RLVWZPazVId0w4amNqNFhqM0RaRUpnSFBCQzhhb0JUOGpWbERLYkVwUVNvQlIxdjJ2bWUvWWFSRkJLWGZLbXlaMzk3V25lVExSdHZwMlhINExrM09YRmpWM0NqY05UVERvRzVhdVk1Z3ZTY21oSzJDR1BGTEthWEVQRUpWMEpTZ1F5cEhSK3AwbnFYSE5KS3FiN1BRSVlLQ2FLUVRjanJpaFg4WUJFVGpheHBuREpNSmZYUmFRaXpTRnRSZ3BaRFNaaWRDZWlLMDNKa0RGTjVyVDBkTDlMbXFDRzUzbzN0bElLUkFOMUswVWpjS2R0ODQrKzhnM0tCcjFFUko0Q1hzNFQ0bXBwT0ZJMWNFSmJPb0dqQVM1RVhwMjFCTWtRemNnUWxveVVORnk5RkJSRlhISm1QMDBQVWRPNnJ1MkpQNDRFMWh0ME5GWnI2N3dHMGZod2xZaHRQNGxkdVFVenRoczR6NytKVzljQ3p3OElWNnVqYy9LMm5hYVFwUGtIV09KS3g2elRqSlJVbkpHSG5ia3VwTnl4aU5lbDViYjBQVkh4TXBUVThCV0sxbUJKTTYrZ0FXUVZZNHBEcFBZZmdwemhJNTBQNkp5Sys1MHdzZThDNS9xVThSR2RFLzI2Tk1XK0NVenpmYzZPNkNJKzBjc09vZVhRZUZLUmUwQ3ZCVGtIbFE0TWJjWG1aZFI0dHk5R1NtazVOQVVyY2pzMjV5Rk1BYzVFaUtPMEFXM0FUcXprTTFwenhyRnU5elczejBmbHBvQSsvRUVzbllISVRGVE9RblE4OEM3SWk1eFc4VE85aGZqSmtqWDdLVDZrRTFlSzVpb1Q0aE5Ic1VMcHhhSUorUkowdDJpNGxvUjNnUHZkZUc1RHVOd24vZ1BBMXhHOUdaV2JmYU9meXIyOUl0ZlBPNjdDam13RnFqSUZMNG9yVmhZaXhIdE4wcFQ1TUVUbUFwRnVkWmhiR21iSmFtbUsxV05GdjZVMUpGeVY1aHBnUVlBeGNEWWlsWm0wT1pnQk9wK3UyRXBwa3M5cWRjWC85azFuOVNaTVBYWlY3ZWFrVzlkdUIyUW94T0NyMkM4U3dkYm5IYUlHb3FDdUx3MEh4NUdLL0FMa2R2TFozN01ZRDl4SHBLTmVIdWlWM0s3TTQvY3gwSmErRDdEd2tOR3htWUx0R3Y0ZEp4bnkycDd2ZnM0T0NUem9PQno3QkRDcC93cGg1QitBSy9yZUErbVh1U3cyZXdCeU1rMmFZaC9yRzFsVEdWTGlNZktuWjZ5OHY4a1FXblBDcGovMVZDWHI4STMvZXRhZ1RNd2pMOTlDNVhiZ3VjSlpNbVlFRFNGQTdrWDFuL1BjZkczaExrQzNJbndOcEMzUDZIWnkzOGhxWjV3emNFcGxQaDJYY0srbHAxblQvaGFvN2M1aVdSNUNGeTlaeS9PWW05NHFqaXpZVCtyY2lrMElQODdMb3djd1FDOFA4SDVWcXl2V1UxNjUwbVdBWDNsY1hyZ3htQ3QxVG5RMW9rK2ZkTHYwbGF4WkFqcnoreW1FcE92UzF4eVhEZWNsdEkyZ2J0aGkxQU1iRHA0SjNCTGcvUVoyeGUrS0l5UFM1UkRGenQ4VHpNUUFUZ3RRQ1k4RHVLUDFaRUFNcFlYSm11cDBFM1Zzd0V4WGRoSXhzbU4remRoVnhaV1JYbjAyVGRRRXFFUHd0TFROcWhORngxUlppMWx5anI4K0w5dXdqTHUxcGloelZ2U0krRWxXQlJGRnNaR01uZFZycXJKYzBycWsxTFRrVGJuU051MktFMzVLL241VXY4M082SC9vcW01MmtCRERTdGE0SXpsZC9SUEp6bEIxTjJPbGRWU3YycEJ3cFd1eVNLVnFNRjRIUG1KcTBWdVBpeG85dTdvRTJmV29jZEFFb25GRVQ3Z3VrWFVrTXBJVWQvMnF1SnBOTVZmcVFaOXJjeERaakJsN1dSbzZ6ZzlwTTFJa2F5S2psMmJuK3IxVHFHUWxhMmJ0YXNwRDJtU1JTeC9WdXpHTnQ3SFpDVG9teDNjNkpzOUwvZDRyOU83elRvd0toZ2dYdTFQRzRLeS82MmY1SnRjZ2tRWmZ2MlBKM1gwbHEyVE1WdWtGS2VJWllLVUhXWDVrUFVXNmZwMWRzVWVhWXY4SitDd3kwVXVZRUwwRHFCOGxBdTBpWU5XQWxXMzF4RmFnZFdBa2E5TFZPM05YVHVXMk55dEh1ZzZ6UGRWU3hnSVl5dGdCa3UzSDhraWJ5d2t4QXRRQW0rTUlqcTAwU1hZUlMzYzFRRTVxS2xWUnloeTczWUQzVnNKTnN4dWxIT0hxSVNpM2FFaWRFVUJXUTNoVFliYUh2Rmw1MG4vczVidmEyWjhJVXVQWVg5S0ZSYytsM2FlcDhObXdTZ2NjT3hGZGsxOEl5Zjdoa2F5SDJheFYzQ0hDaFFNdS9VeFc5emVPNTIvUitHMk4wb0J3Ujhpam9WRGcyYXZWbFk4QlNIUHNWNmp2Q3E3ZkF5MURUOVk2VFJwL0swdHNXQzdDcDRFSi9WY24yVzNBR2g3UzE3S0RidDVTaU9WMDVjY0FyR01rakRLMjkyekF2QWZRTXBmMVgyeGloeWpUUlppdU1FR2h6WUJmbyt5MzRZYmNlMDF6Y05TUFVVYmM2ZmhQeXc3SjBOcC8zZUlQdE1NQXgxeXhRc1l5cmg4cXdIN2lVcWM5NXBTZm5hc1BCOTN5aTcvU2RtQkZIdFZYcVdZYnNFMlFSMm9hTURiVnFMZkFuZ3VaTlJvR1dMbjRrUjRmMlkxZGxYQ3VmbFFnUEQ0b0dHUHl0SkJEWWZHRVpCMFJrTTBkbFFRdkVRVFZOM3BOZEpHeVljdUl1ak53dGpFbWI3aVhzRUg4WitURVdkY3JEWlFTUElPVkdCbHF3T2hydmc4VDEvUEp0MGJUam13dkVNczUwaHhianNweDBFc0htWkY1aUNMenBUbjJOZ1pmelJ2REtteHA0bmZBZFQ1eFRKZkdqbm1ZZW1rZ1gxVC9FSkxWQjh0azR5ejdKSXp5SmllYTF1aXl3Z3QvVlM0dUVPSlJyUm4vdHZ2OUVINjdXeDFWNGVFaDJTWmhwcmFUaXZqWm5RR21vVFQya3ZTditwTlZ4eUFVV04xdmJBdko2aWZVME84QmY5N25ycDJ5bDhnM2hkcTdDdDFDVmVVM1BKSCtFdTNuak5tWEc5OC9ONTdzY1RoYUVxeldUVXNMcDJqV3hLUFMyTDRSa1h2N3g0VFVBNlFpbndNKzJiZUMxVTNzaURZek55VHJTTUdicUR6SXp1Z3ozUlpmSDR3K3hNVFlWSnlURC8zd29hdm5CVzVEbmhaUG5ET0Rzcy9rWHUvQ092cEVyMXR3NVZMTVdCeW9EYTVUMlFaNkRRRXprVHByNGxGcCt1Z3Z3WGdFWndHUFdlQ3B4MEdlWUV4MCtWQXRTRC9GeUtyYlFaN3g4MGxpT1JNUVJ1bEJzRmNVanNydXhEWjJZN0NiSFJWN2RSVjJydlRReFNTRjZEeWFZcDlHOVU1RUxuVExkQzhpT3pDVGRWaVJPU0NUZk9NSHp2YWMrTkM5WXNSa0Y4bzArNWVZUnNEWnNJbjN3RGxCQnFMM1NjdWhmeUpwTGtEa1Vwd2REMTBvZjBKbzFPcUtGNlN4WXg1R3p1a3dsdlZxSmtuVlZSOEFOZEwwMGRtSWVRZTJ1aWV5eUdSRVQ2RFNCdG9HOGlaZDFpYWRYM1drZTZPUlp6R2RpWnNlS0NrNTBPK0JiN0c5cmFWV051eklvd2JVUDZiM0xPaHRYRXRrWGJsQjZTU3dLa0VyRlV6RlBGeUNmZmdNUHRpM1NsZWxmTzZaREtXKzI1L0hNblkzUUNmSHpqZXdUbGUwSEl3UFN4aXpaN1hPUCtLSjQwSW9kVWJacE9wQnJ2U0p6bExNSzdMcVQ2cjlwN3JvZzl4QWQ4blB4cFlSbjFRQ1ZTbk1Tb2ZvVnJ1RkhZdVFPdEFyUGIxSU1PclVnTCtXdGVOc3lwYUIzaXFZMXl0V0pLMkFPdjl0VWtBclp4K3RsUTB2SzdvWjdQVjF1ampwK0J2THdmS1Z6SjBjZVFXNEVpaTNQVXZWRXB4STFNcUdMWXExdkU0WDd4SE1lckJtZUovck4zUVNyRDltQjRqRzQ4QkNnSHRrNC9nSTNDZm9yZVZ3SFlqaEhEMW11OFFXQkJNTDA2NlZEYjhWWkt0SjVGLy9UZTg2WE55R21sR0VKYkx1UW91eTF4VitxTWpNQW8xMVBQQUZRZGFDK1Q5TFpGMXZ6b2FkZ2Y5NUE2WEFGd1h6dDB0a1hYay9yU0VYUk5EWHhSbG9YbCtnRGczZ0drWC9Qa1Z5K3pKWmYxa29XWXNHNWdwZ2FwQUtBWklBWGR6VGtzQmxZTndQK2UyVndCOFV0b2t6NERyZHg3L1N4TGpLUnVzVU5ydXgxNHIvamxwYjBlOTRmdTl3TEdMNkxZRUEyNjA4RHBvQzN3UGR6cldSRmNCWFFySVdCM3lQWTFSNHQ4N1ZkV3RsNHcyZ1BsTFUrSHd2aGdCTDYzVGhhMHRsL1dGRi9zNHZSQXJUV0tjTG52VG80TGZpVDFhclRoZjlvR2RhNVRNQjl0di9lMHdYTG5Uam5BbDgzQ2ZNRGFGa0hUbTRybFkyclBHcDRHZnFkT0VMRWpEZkwzaVBoQXc2eDBvTGxwVWljVWRuNU1UZzdaclVnS2xUeWNtRCtEWEtTRWpXa1lPTFhaZERSdjBUUmZSV2toRGhBQ3RFa2VOVW14VFlaQkw1V3U3Vm81aEhoMVlDbEc2MHNiYjYrWTJoZEpCT0lOUXphMlc5dTIxSXpnckpPdUlobld2MDdyYmhUc1ZQOUs1OXdMNGhmbXdVNUw1UURRZ1JJcFNzSVFZUWUwcVFHd0FTNkYrQVZ2UWNhQnJIUTdLR0dBa3FVUEpSWGJnZm9GYldmeE9reDB1SkZOMFBiQWpWZ0JBaFFyS2UraEl4d0tOa3NmejA0Mkg1akY0MTRBUGdiSi9yazViSXV2SjJLbE5WeU9TQTZjeEJXckZrdHdhdHZESXduMTBxRzdjcWVoQjB6Mk82NkNuWHluQmV6OUQ2WjkrUWh0TlN0TmxRSHZUV2swTWhXWXNFaWpTSi8ydHdvb0o1b0lvak5nRW4wQWpTTWpocE1uWUZIOEdvbHlqcE40SExPOEJUenR0YzlYcWZ3SldkSFBrUXlnUHpZQ0RQaG1wQWtXQUs3LzlZMEpYZ3V3MWpYRkFsSzlTZHdGZzVHR2t5aWY4RUFsYlgrMkF5Ny84THpubXAyc2M4UEhLWThRK0ZrblVvTlR4a2kyTHZDcWlRMytTN2Q1V3Vzb0h2TFpUSDE1V2hOK09ZZU01U3BCSm5uMVNKUXJ1QnRpc2NBSGxKc2JiVTZlSTlubWorQ0xySm4zZ2E2MnQrMXVyUzlublNjRUVsUjI4QyswcEJvdXJzM3EwUTFDTk1wTldUaHdmdmxmVjFCdko1Z2M4Qms0RXFoU3B4U053T3hBUmFGZmx2SmZWZmRicjR2V0lYTmtXM3JTVkVhQTBJRVNJa2E0Z1FJVmxEaEdRTkVXS2s0djhCd2cxQWNlSk1iSU1BQUFBQVNVVk9SSzVDWUlJPQ==\",\"name\":\"logo.png\",\"size\":3716,\"type\":\"image/png\"}', '');
-- --------------------------------------------------------
--
-- Table structure for table `zzzzsys_form`
--
CREATE TABLE `zzzzsys_form` (
`zzzzsys_form_id` varchar(25) NOT NULL,
`sfo_type` varchar(300) DEFAULT NULL,
`sfo_code` varchar(300) DEFAULT NULL,
`sfo_description` varchar(300) DEFAULT NULL,
`sfo_group` varchar(100) DEFAULT NULL,
`sfo_breadcrumb_title` varchar(100) DEFAULT NULL,
`sfo_table` varchar(300) DEFAULT NULL,
`sfo_primary_key` varchar(300) DEFAULT NULL,
`sfo_browse_redirect_form_id` varchar(300) DEFAULT NULL,
`sfo_browse_row_height` int DEFAULT NULL,
`sfo_browse_rows_per_page` int DEFAULT NULL,
`sfo_browse_title_multiline` varchar(1) DEFAULT '0',
`sfo_browse_autoresize_columns` varchar(1) DEFAULT NULL,
`sfo_browse_sql` text,
`sfo_javascript` longtext,
`sfo_browse_javascript` mediumtext,
`sfo_edit_javascript` mediumtext,
`sfo_style` mediumtext,
`sfo_mobile_view` varchar(1) DEFAULT NULL,
`sfo_json` mediumtext
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3;
--
-- Dumping data for table `zzzzsys_form`
--
INSERT INTO `zzzzsys_form` (`zzzzsys_form_id`, `sfo_type`, `sfo_code`, `sfo_description`, `sfo_group`, `sfo_breadcrumb_title`, `sfo_table`, `sfo_primary_key`, `sfo_browse_redirect_form_id`, `sfo_browse_row_height`, `sfo_browse_rows_per_page`, `sfo_browse_title_multiline`, `sfo_browse_autoresize_columns`, `sfo_browse_sql`, `sfo_javascript`, `sfo_browse_javascript`, `sfo_edit_javascript`, `sfo_style`, `sfo_mobile_view`, `sfo_json`) VALUES
('nu5fdb9ffd45aaa', 'subform', 'nuobjectsubform', 'Forms Objects', NULL, NULL, 'zzzzsys_object', 'zzzzsys_object_id', '', 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_object \nORDER BY sob_all_zzzzsys_tab_id, sob_all_order', NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fdb9ffd45efe', 'subform', 'nuaccesssubform', 'Accessible Forms', NULL, NULL, 'zzzzsys_access_form', 'zzzzsys_access_form_id', '', 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_access_form', NULL, NULL, NULL, NULL, NULL, NULL),
('nu5feb9ffd45efe', 'subform', 'nuaccesssubform_rep', 'Accessible Reports', NULL, NULL, 'zzzzsys_access_report', 'zzzzsys_access_report_id', '', 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_access_report', NULL, NULL, NULL, NULL, NULL, NULL),
('nu5fee9ffd45efe', 'subform', 'nuaccesssubform_php', 'Accessible PHP procs', NULL, NULL, 'zzzzsys_access_php', 'zzzzsys_access_php_id', '', 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_access_php', NULL, NULL, NULL, NULL, NULL, NULL),
('nu61e9969a239c033', 'subform', 'nuobjectjsonsubform', 'Object JSON', NULL, NULL, 'zzzzsys_object_json', 'zzzzsys_object_json_id', '', 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_object_json', NULL, NULL, NULL, NULL, NULL, NULL),
('nu62aee4493239e3a', 'subform', 'nuconfigsettingssubform', 'config settings subform', NULL, NULL, 'zzzzsys_config', 'zzzzsys_config_id', '', 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_config \nORDER BY cfg_order', NULL, NULL, NULL, NULL, NULL, NULL),
('nuaccess', 'browseedit', 'nuaccess', 'Access Levels', NULL, '#sal_code#|New', 'zzzzsys_access', 'zzzzsys_access_id', '', 0, 17, '0', NULL, 'SELECT zzzzsys_access.*, zzzzsys_form.sfo_code FROM zzzzsys_access\nLEFT JOIN zzzzsys_form \nON sal_zzzzsys_form_id = zzzzsys_form_id\nORDER BY sal_code\n', NULL, NULL, '$(\'#sal_zzzzsys_form_id_open_button\').toggleClass(\'input_button nuButton nuLookupButton\');\nif (nuIsNewRecord()) nuHide(\'sal_zzzzsys_form_id_open_button\');\n\nnuAccessFormSetButtonIcons();\nnuAccessAddSfFilter();\n\nfunction nuAccessAddSfFilter() {\n\n let sfFilter = {};\n sfFilter.accform = {\n \'slf_zzzzsys_form_id\': {\n type: \'search\',\n float: \'left\',\n placeholder: nuTranslate(\'Search\')}\n };\n\n nuSubformAddFilter(sfFilter);\n\n}', '', '1', NULL),
('nuaccessforms', 'edit', 'nuaccessforms', 'Accessible Forms', NULL, NULL, 'zzzzsys_access_form', 'zzzzsys_access_form_id', '', 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_access_form\nLEFT JOIN zzzzsys_form ON zzzzsys_form_id = slf_zzzzsys_form_id\nORDER BY sfo_code\n', NULL, NULL, NULL, NULL, NULL, NULL),
('nuaccessgroup', 'subform', 'nuaccessgroup', 'Groups Access Level', NULL, NULL, 'zzzzsys_user_group_access_level', 'zzzzsys_user_group_access_level_id', '', 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_user_group_access_level', NULL, NULL, NULL, NULL, NULL, NULL),
('nuaccesslevelreport', 'browseedit', 'nuaccesslevelreport', 'Access To Report', NULL, NULL, 'zzzzsys_access_report', 'zzzzsys_access_report_id', '', 0, 0, '0', NULL, 'SELECT * \nFROM zzzzsys_access_report\nJOIN zzzzsys_report ON zzzzsys_report_id = sre_zzzzsys_report_id\nORDER BY sre_code', NULL, NULL, NULL, NULL, NULL, NULL),
('nuaccessreport', 'browseedit', 'nuaccessreport', 'Access To Procedures', NULL, NULL, 'zzzzsys_access_php', 'zzzzsys_access_php_id', '', 0, 0, '0', NULL, 'SELECT * \nFROM zzzzsys_access_php\nJOIN zzzzsys_php ON zzzzsys_php_id = slp_zzzzsys_php_id\nORDER BY sph_code', NULL, NULL, NULL, NULL, NULL, NULL),
('nuaddattribute', 'launch', 'nuaddattribute', 'Add attribute', NULL, NULL, '', '', '', 0, 0, '0', NULL, 'SELECT * FROM Launch Form 0', '/*\n 0|autocomplete|\n 1|accesskey|\n 2|data-|\n 3|maxlength|\n 4|placeholder|\n 5|spellcheck|\n 6|title|\n 7|value|\n 8|nu-label-position\n*/\n\nnuHide(\'plh_value_select\');\nnuHide(\'plh_attribute_name\');\nnuHideTabs(0);\nnuSelectRemoveEmpty(\'plh_attribute\', \'-1\');\nnuAddActionButton(\'nuAddAttribute\', \'Add\', \'addAttribute();\');\n\nfunction nuOnMobileViewComplete() {\n const currentTop = $(\'#plh_value_text\').css(\'top\');\n const currentTopLabel = $(\'#label_plh_value_text\').css(\'top\');\n $(\'#plh_value_select\').css(\'top\', currentTop);\n $(\'#label_plh_value_select\').css(\'top\', currentTopLabel);\n}\n\nif (typeObj().val() !== \'input\') {\n nuSelectRemoveOption(\'plh_attribute\', \'7\').val(\'\');\n}\n\nfunction onAttributeChanged(value) {\n\n nuShow(\'plh_value_select\', value === \'0\' || value === \'5\' || value === \'8\');\n nuShow(\'plh_value_text\', !(value === \'0\' || value === \'5\' || value === \'8\'));\n nuShow(\'plh_attribute_name\', value === \'2\');\n \n nuSetValue(\'plh_value_text\',\'\');\n\n if (value === \'0\') {\n $(\"#plh_value_select\").empty();\n addSelectOption(\'0\', \'on\');\n addSelectOption(\'1\', \'off\');\n } else if (value === \'5\') {\n $(\"#plh_value_select\").empty();\n addSelectOption(\'0\', \'true\');\n addSelectOption(\'1\', \'false\');\n } else if (value === \'4\') {\n nuSetPlaceholder(\'plh_value_text\', \'Placeholder text\');\n } else if (value === \'6\') {\n nuSetPlaceholder(\'plh_value_text\', \'Tooltip text\');\n } else if (value === \'2\') {\n nuSetPlaceholder(\'plh_value_text\', \'String value\');\n $(\'#plh_attribute_name\').trigger(\"focus\");\n } else if (value === \'1\') {\n nuSetPlaceholder(\'plh_value_text\', \'Single character\');\n } else if (value === \'3\') {\n nuSetPlaceholder(\'plh_value_text\', \'Number value\');\n } else if (value === \'7\') {\n nuSetPlaceholder(\'plh_value_text\', \'String\');\n } else if (value === \'8\') {\n $(\"#plh_value_select\").empty();\n addSelectOption(\'top\', \'top\');\n } \n\n}\n\nfunction addSelectOption(value, text) {\n $(\'#plh_value_select\').append(\'<option value=\"\' + value + \'\">\' + text + \'</option>\');\n}\n\nfunction attributesObj() {\n return $(\"#sob_input_attribute\", window.parent.document);\n}\n\nfunction typeObj() {\n return $(\"#sob_all_type\", window.parent.document);\n}\n\n\nfunction valueObjText() {\n return $(\'#plh_value_text\').is(\":visible\") ? nuGetValue(\'plh_value_text\') : nuGetValue(\'plh_value_select\', \'text\');\n}\n\nfunction addAttribute() {\n \n let v = valueObjText();\n let an = nuGetValue(\'plh_attribute_name\');\n\n if (v === \'\') {\n nuMessage(`${nuTranslate(\'Error\')}`, `${nuTranslate(\"Missing value\")}`);\n return;\n }\n\n if (an === \'\' && nuGetValue(\'plh_attribute\') == \'2\') { // data-\n nuMessage(`${nuTranslate(\'Error\')}`, `${nuTranslate(\"Missing name\")}`);\n return;\n } \n\n let t = attributesObj();\n let k = nuGetValue(\'plh_attribute\', \'text\') + an;\n let kEquals = k + \'=\"\';\n\n if (t.val().includes(kEquals)) {\n nuMessage(`${nuTranslate(\'Error\')}`, `${nuTranslate(\"The attribute already exists\")}`);\n return;\n }\n\n let kv = kEquals + v + \'\"\';\n\n if (t.val() === \'\') {\n t.val(kv).change();\n } else {\n t.val(t.val() + \',\' + kv).change();\n }\n\n}', NULL, NULL, NULL, '1', NULL),
('nuadddbcolumn', 'launch', 'nuadddbcolumn', 'Add Database Column', NULL, NULL, '', '', '', 0, 0, '0', NULL, '', 'function nuAddDBColumnGetDataType(t, i, selectMultiple) {\n\n let dt = \'VARCHAR(100)\';\n\n if (t == \'lookup\') {\n dt = \'VARCHAR(25)\';\n }\n if (t == \'select\' && ! selectMultiple) {\n dt = \'VARCHAR(100)\';\n }\n if (t == \'select\' && selectMultiple) {\n dt = \'VARCHAR(1000)\';\n }\n if (t == \'calc\') {\n dt = \'DECIMAL(12,4)\';\n }\n if (t == \'textarea\') {\n dt = \'TEXT\';\n }\n\n if (t == \'input\') {\n let dtInput = \'\';\n if (i == \'date\' || i == \'nuDate\') {\n dtInput = \'DATE\';\n }\n if (i == \'number\') {\n dtInput = \'INT\';\n }\n if (i == \'nuAutoNumber\') {\n dtInput = \'BIGINT UNSIGNED\';\n }\n if (i == \'nuNumber\') {\n dtInput = \'DECIMAL(12,4)\';\n }\n if (i == \'file\') {\n dtInput = \'LONGTEXT\';\n }\n dt = dtInput != \'\' ? dtInput: \'VARCHAR(100)\';\n\n }\n\n return dt;\n}\n\n\nvar table = parent.$(\'#sob_all_table\').val();\nvar id = parent.$(\'#sob_all_id\').val();\nvar type = parent.$(\'#sob_all_type\').val();\nvar input = parent.$(\'#sob_input_type\').val();\nvar selectMultiple = parent.nuGetValue(\'sob_select_multiple\')\nvar dataType = nuAddDBColumnGetDataType(type, input);\n\nvar qry = \'`$column` $type NULL DEFAULT NULL\';\nqry = qry.replace(\'$column\', id);\nqry = qry.replace(\'$type\', dataType);\n\nvar start = \'ALTER TABLE `$table` ADD\'\nstart = start.replace(\'$table\', table);\n\n$(\'#sql_query_word\').html(start);\n$(\'#sql_query\').val(qry);\n\nnuAddActionButton(\'Run\', \'Run\', \'nuHasNotBeenEdited(); nuRunPHPHidden(\"NURUNADDDBCOLUMN\")\');\n\n$(\'#sql_query\').addClass(\'sql\');\n$(\'.sql\').on(\'dblclick\', function() {\n nuOpenAce(\'SQL\', this.id);\n});\n\nnuSetProperty(\'sob_all_table\', table);\nnuRefreshSelectObject(\'sql_after_column\');', NULL, NULL, NULL, '1', NULL),
('nuauthentication', 'launch', 'nuauthentication', 'Authentication', NULL, NULL, '', '', '', 0, 0, '0', NULL, '', 'function nuGet2FAProcedure() {\n const d = nuDevMode();\n const p = \'nuAuthentication2FA\';\n return d ? p + \'_Template\': p;\n}\n\nfunction nu2FAVerify() {\n nuSetProperty(\'auth_code_verify\', $(\'#auth_code\').val());\n nuSetProperty(\"nuauthcommand\", \"verify\");\n const p = nuGet2FAProcedure();\n nuRunPHPHidden(p);\n}\n\nfunction nu2FASendToken() {\n nuSetProperty(\"nuauthcommand\", \"send\");\n const p = nuGet2FAProcedure();\n nuRunPHPHidden(p);\n}\n\nfunction handleEnterKey() {\n\n $(\'#auth_code\').on(\'keydown\', function(evt) {\n if (evt.key === \'Enter\') {\n evt.preventDefault();\n nu2FAVerify();\n }\n });\n\n}\n\nhandleEnterKey();\nnuHideHolders(0, 2);\n\n\n\n// Prevent [DOM] Password field is not contained in a form:\n$(\"#auth_code_verify\").wrap(\"<form id=\'nuFromVerif\' action=\'#\' method=\'post\' onsubmit=\'return false\'>\");', NULL, NULL, NULL, '1', NULL),
('nublank', 'launch', 'nublank', 'Blank', NULL, NULL, '', '', '', 0, 0, '0', NULL, '', '\nnuSetTitle(nuFORM.getCurrent().run_description);\n', NULL, NULL, NULL, NULL, NULL),
('nubrowse', 'subform', 'nubrowse', 'Browse Columns', NULL, NULL, 'zzzzsys_browse', 'zzzzsys_browse_id', '', 0, 5, '0', NULL, 'SELECT * FROM zzzzsys_browse\nORDER BY sbr_order\n', '$(\'#nuSearchButton\').remove();\n$(\'#nuSearchField\').remove();\n$(\'#nuPrintButton\').remove();\n\nnuSetTitle($(\'#sbr_title\').val());\n\nvar pid = parent.nuFORM.getCurrent().record_id;\n\nif(nuFORM.getCurrent().record_id == -1){\n $(\'#sbr_zzzzsys_form_id\').val(pid).change();\n}\n', NULL, NULL, NULL, NULL, NULL),
('nubuildreport', 'browseedit', 'nubuildreport', 'Build Report', NULL, '#sre_code#|New', 'zzzzsys_report', 'zzzzsys_report_id', '', 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_report\nLEFT JOIN zzzzsys_form ON zzzzsys_form_id = sre_zzzzsys_form_id', 'if (nuFormType() == \'edit\') {\n\n $(\'#sre_layout\').addClass(\'nuEdited\'); \n nuAttachButtonImage(\'open_builder\',\'RD\');\n \n if (! nuIsNewRecord()) {\n // nuAddActionButton(\'Run\', \'Run\', \'nuRunReport(\"\'+ $(\'#sre_code\').val() +\'\")\'); \n }\n \n }\n \n function nuBuildReportPickTableType(){\n \n var i = $(\'#sre_zzzzsys_php_id\').val();\n \n var f = \'\';\n var r = \'\';\n \n if(i.substr(0,10) == \'PROCEDURE:\'){\n \n f = \'nuphp\';\n r = i.substr(10);\n \n }\n \n if(i === \'\'){\n \n nuMessage([nuTranslate(\'No table selected\')]);\n return;\n \n }\n \n if(i.substr(0,6) == \'TABLE:\'){\n \n nuVendorLogin(\'PMA\', sre_zzzzsys_php_iddescription.value)\n return;\n \n }\n \n if(i.substr(0,4) == \'SQL:\'){\n \n f = \'nuselect\';\n r = i.substr(4);\n \n }\n \n nuPopup(f,r);\n \n }\n \n function nuBuildReportUpdateAclCount() {\n var l = $(\"[data-nu-field=\'sre_zzzzsys_access_id\']\").length -2;\n var t = l <= 0 ? \'\' : \' (\' + l + \')\';\n $(\'#nuTab1\').html(nuTranslate(\'Access Level\') + t);\n }', 'if (parent.nuCurrentProperties().form_id == \'nuaccess\') {\n $(\'#nuBreadcrumb0\').html(nuTranslate(\'Reports\'));\n}', NULL, NULL, '1', NULL),
('nubuildtable', 'browse', 'nubuildtable', 'PHP or SELECT or TABLE', NULL, NULL, 'zzzzsys_report_data', 'zzzzsys_report_data_id', 'nuselect', 0, 16, '0', NULL, 'SELECT * FROM zzzzsys_report_data', NULL, NULL, NULL, NULL, NULL, NULL),
('nucalcobjects', 'browse', 'nucalcobjects', 'Calc values On This Form And Its Subforms', NULL, NULL, '#TABLE_ID#', 'thevalue', '', 0, 4, '0', NULL, 'SELECT * FROM #TABLE_ID#', '\nwindow.nuBrowseFunction = \'nuSelectCalcField\';\n\nfunction nuSelectCalcField(e){\n\n var row = e.target.id.substr(0,8);\n var fld = $(\'#\' + row + \'003\').html();\n var frm = $(\'#sob_calc_formula\', parent.window.document).val();\n\n $(\'#sob_calc_formula\', parent.window.document)\n .val(frm + \'nuTotal(\"\' + fld + \'\")\')\n .trigger(\'change\');\n\n}\n\n', NULL, NULL, NULL, NULL, NULL),
('nuclause', 'subform', 'nuclause', 'Select Clauses', NULL, NULL, 'zzzzsys_select_clause', 'zzzzsys_select_clause_id', '', 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_select_clause\nORDER BY ssc_type, ssc_order', NULL, NULL, NULL, NULL, NULL, NULL),
('nucloner', 'browseedit', 'nucloner', 'Cloner', NULL, '|New', 'zzzzsys_cloner', 'zzzzsys_cloner_id', '', 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_cloner\nORDER BY clo_form_source', 'function nuSelectObjectRefreshed(o, f) {\n\n nuSelectRemoveEmpty();\n if (f == \'clo_tabs\') {\n $(\'select#\' + f + \' > option\').prop(\'selected\', \'selected\');\n } \n}\n\nfunction addRunButton() {\n nuAddActionButton(\'nuRunCloner\', \'Run\', \'runCloner()\');\n $(\'#nunuRunPHPHiddenButton\').css(\'background-color\', \'#117A65\');\n}\n\nfunction selectToIndexArray(id) {\n\n var a = [];\n $(\'#\' + id + \' option:selected\').each(function(index) {\n if ($(this).text() !== \'\') {\n a.push($(this).index() + 1);\n }\n });\n return a;\n \n}\n\nfunction selectToValueArray(id) {\n\n var a = [];\n $(\'#\' + id + \' option:selected\').each(function(index) {\n if ($(this).text() !== \'\') {\n a.push($(this).text())\n }\n });\n\n return a;\n\n}\n\n\nfunction runCloner() {\n\n if ($(\'#clo_form_source\').val() === \'\') {\n nuMessage(nuTranslate(\'Validation Error\'), nuTranslate(\'Source Form cannot be left blank.\'));\n return;\n }\n\n if ($(\'#clo_tabs :selected\').length === 0) {\n nuMessage(nuTranslate(\'Validation Error\'), nuTranslate(\'Select at least 1 Tab.\'));\n return;\n }\n\n nuSetProperty(\'cloner_refresh_selectId\', \'\');\n\n const tabs = selectToIndexArray(\'clo_tabs\');\n nuSetProperty(\'cloner_tabs\', tabs.length === 0 ? \'\' : JSON.stringify(tabs));\n\n const subforms = $(\'#clo_subforms_include\').is(\':checked\');\n const clo_subforms = selectToValueArray(\'clo_subforms\');\n nuSetProperty(\'cloner_subforms\', subforms === false || clo_subforms.length === 0 ? \'0\' : JSON.stringify(clo_subforms));\n\n const formsRunIFrame = selectToValueArray(\'clo_iframe_forms\');\n nuSetProperty(\'cloner_iframe_forms\', nuGetValue(\'clo_subforms_include\') == false|| formsRunIFrame.length === 0 ? \'0\' : JSON.stringify(formsRunIFrame));\n\n const dump = $(\'#clo_dump\').is(\':checked\');\n nuSetProperty(\'cloner_dump\', dump ? \'1\' : \'0\');\n\n const noObjects = $(\'#clo_objects\').is(\':checked\');\n nuSetProperty(\'cloner_objects\', noObjects ? \'0\' : \'1\');\n\n const newPks = $(\'#clo_new_pks\').is(\':checked\');\n nuSetProperty(\'cloner_new_pks\', newPks ? \'1\' : \'0\');\n \n const replaceInto = $(\'#clo_sql_replace_into\').is(\':checked\');\n nuSetProperty(\'cloner_replace_into\', replaceInto ? \'1\' : \'0\');\n\n nuSetProperty(\'cloner_form_source\', $(\'#clo_form_source\').val());\n nuSetProperty(\'cloner_form_dest\', $(\'#clo_form_dest\').val());\n nuSetProperty(\'cloner_notes\', \'#clo_notes#\');\n\n dump ? nuRunPHP(\'nucloner\', \'\', 1) : nuRunPHPHidden(\'nucloner\');\n \n const tables = selectToValueArray(\'clo_tables_include\');\n nuSetProperty(\'nubackup_tables_include\', tables.length === 0 ? \'\' : JSON.stringify(tables));\n \n}\n\nfunction setTitle() {\n\n if (!nuIsNewRecord()) {\n nuSetTitle($(\'#clo_form_source\').val());\n }\n\n}\n\nfunction setDefaultValues() {\n\n if (nuIsNewRecord()) {\n $(\'#clo_new_pks\').prop(\'checked\', true).trigger(\'change\');\n $(\'#clo_dump\').prop(\'checked\', true).trigger(\'change\');\n }\n\n}\n\nfunction setParentFormId() {\n\n if (parent.$(\'#nuModal\').length > 0 && $(\'#clo_form_source\').val() === \'\') {\n nuGetLookupId(window.parent.nuCurrentProperties().form_id, \'clo_form_source\');\n }\n\n}\n\nfunction cloSubformsChecked() {\n\n var c = $(\'#clo_subforms_include\').is(\':checked\');\n c ? nuEnable(\'clo_subforms\') : nuDisable(\'clo_subforms\');\n nuSelectSelectAll(\'clo_subforms\', c);\n\n}\n\nfunction cloIframeFormsChecked() {\n\n var c = $(\'#clo_iframe_forms_include\').is(\':checked\');\n c ? nuEnable(\'clo_iframe_forms\') : nuDisable(\'clo_iframe_forms\');\n nuSelectSelectAll(\'clo_iframe_forms\', c);\n\n}\n\nfunction selectObjectPopuplated(formId, selectId, count) {\n\n if (selectId == \'clo_tabs\') {\n nuSelectSelectAll(\'clo_tabs\', true);\n }\n\n var chk;\n if (selectId == \'clo_iframe_forms\') {\n chk = $(\'#clo_iframe_forms_include\');\n var c = chk.is(\':checked\');\n if (c) {\n nuSelectSelectAll(\'clo_iframe_forms\', true);\n }\n count === 0 ? nuDisable(\'clo_iframe_forms_include\') : nuEnable(\'clo_iframe_forms_include\');\n if (count === 0) chk.prop(\'checked\', false).trigger(\'change\');\n }\n\n\n if (selectId == \'clo_subforms\') {\n\n chk = $(\'#clo_subforms_include\');\n var s = chk.is(\':checked\');\n if (s) {\n nuSelectSelectAll(\'clo_subforms\', true);\n }\n count === 0 ? nuDisable(\'clo_subforms_include\') : nuEnable(\'clo_subforms_include\');\n if (count === 0) chk.prop(\'checked\', false).trigger(\'change\');\n }\n\n\n\n}\n\nfunction enableDisableCheckboxes() {\n var v = nuGetValue(\'clo_dump\');\n if (v == \'0\') {\n nuSetValue(\'clo_sql_replace_into\', 0);\n nuDisable(\'clo_sql_replace_into\');\n nuSetValue(\'clo_new_pks\', 1);\n nuDisable(\'clo_new_pks\');\n } else {\n nuEnable(\'clo_new_pks\');\n nuEnable(\'clo_sql_replace_into\');\n }\n}\n\nif (nuFormType() == \'edit\') {\n\n if (nuIsNewRecord()) {\n $(\'#clo_tabs\').empty();\n $(\'#clo_subforms\').empty();\n $(\'#clo_iframe_forms\').empty();\n }\n \n enableDisableCheckboxes();\n \n // clo_dummy required to adjust correct popup width\n nuHide(\'clo_dummy\');\n nuSelectRemoveEmpty();\n\n $(\'#clo_subforms\').nuLabelOnTop(-18, 25)\n $(\'#clo_iframe_forms\').nuLabelOnTop(-18, 25)\n nuLabelOnTop([\'clo_tabs\',\'clo_tables_include\',\'clo_tables_exclude\']);\n \n $(\'#label_clo_subforms\').prop(\'for\',\'clo_subforms_include\');\n $(\'#label_clo_iframe_forms\').prop(\'for\',\'clo_iframe_forms_include\');\n \n cloSubformsChecked();\n cloIframeFormsChecked();\n\n setParentFormId();\n setDefaultValues();\n\n addRunButton();\n setTitle();\n\n nuHasNotBeenEdited();\n}\n\n\nfunction unselectAllOptionsStartingWith(selectId, prefix) {\n $(\"#\" + selectId + \" option\").each(function() {\n if ($(this).text().startsWith(prefix)) {\n $(this).prop(\"selected\", false);\n }\n });\n}\n', NULL, '// DEV\nif (!nuDevMode()) {\n nuHideTabById(\'nu63ed1fef9b6331f\');\n}\n', NULL, '1', NULL),
('nucodesnippet', 'browseedit', 'nucodesnippet', 'Code Snippets', NULL, '#cot_code#|New', 'zzzzsys_code_snippet', 'zzzzsys_code_snippet_id', '', 35, 10, '0', NULL, 'SELECT * FROM zzzzsys_code_snippet WHERE (\n\n (IFNULL(cot_scope,\'\') LIKE \'%0%\' AND \'#IS_CUSTOM_CODE#\' = \'1\') OR\n (IFNULL(cot_scope,\'\') LIKE \'%1%\' AND \'#IS_SETUP_HEADER#\' = \'1\') OR\n (IFNULL(cot_scope,\'\') LIKE \'%2%\' AND \'#IS_SQL#\' = \'1\') OR\n (IFNULL(cot_scope,\'\') LIKE \'%3%\' AND \'#IS_PHP#\' = \'1\') OR\n\n (\n\n LOCATE(\'#\', \'#IS_SETUP_HEADER#\') = 1 AND \n LOCATE(\'#\', \'#IS_CUSTOM_CODE#\') = 1 AND\n LOCATE(\'#\', \'#IS_PHP#\') = 1 AND \n LOCATE(\'#\', \'#IS_SQL#\') = 1 \n\n ) \n)\n\nORDER BY cot_code ', NULL, NULL, 'var sc = $(\'#cot_source_code\');\nsc.addClass(\'js\');\n\nsc.css(\'padding\', \'3px 3px 3px 3px\')\n\n// Add ACE event handlers\nsc.on(\'dblclick\', function() {\n nuOpenAce(nuCodeSnippetGetSourceLangage(), this.id);\n});\n\n// Code Snippets form\nnuSetProperty(\'IS_SETUP_HEADER\', 0);\nnuSetProperty(\'IS_CUSTOM_CODE\', 1);\n\n// Disable nu-records\nif (nuRecordId().startsWith(\'nu\')) {\n nuDisableAllObjects();\n $(\'#nuSaveButton\').hide();\n}\n\n\nfunction nuOnClone() {\n nuEnableAllObjects();\n $(\'#nuSaveButton\').show();\n}\n\nfunction nuCodeSnippetGetSourceLangage() {\n\n let l = $(\'#cot_language\').val();\n if (l === \'JavaScript\') l = \'JS\';\n return l === \'\' ? \'JS\': l;\n\n}', NULL, '1', NULL),
('nucsvtransfer', 'launch', 'nucsvtransfer', 'CSV Transfer', NULL, NULL, '', '', '', 0, 0, '0', NULL, '', '\n\nfunction nuCheckCSV(){\n\n var csvTo = $(\'#csv_to\').val();\n var csvFrom = $(\'#csv_from\').val();\n var csvDelimiter = $(\'#csv_delimiter\').val();\n\n if($(\'#csv_transfer\').val() === \'\' || csvFrom === \'\' || csvTo === \'\' || csvDelimiter === \'\'){\n nuMessage(nuTranslate(\'Validation Error\'),nuTranslate(\'No fields can be left blank\') + \'...\');\n }else{\n \n if($(\'#csv_transfer\').val() == \'export\'){\n \n if(nuFORM.getJustTables().includes(csvFrom)){\n nuRunPHP(\'NUCSVTRANSFER\')\n }else{\n nuMessage([nuTranslate(\'No such tablename\')+\'...\']);\n }\n \n }\n \n if($(\'#csv_transfer\').val() == \'import\'){\n \n if(nuCSVfiles.includes(csvFrom)){\n\n if (csvTo == \'zzzzsys_user\') {\n nuImportUsersFromCSV(csvFrom, csvDelimiter);\n } else {\n if(nuFORM.getJustTables().includes(csvTo)){\n nuMessage([nuTranslate(\'There is already a table named\'), \'<b>\' + csvTo + \'</b>\']);\n }else{\n nuRunPHP(\"NUCSVTRANSFER\")\n }\n }\n \n }else{\n nuMessage([nuTranslate(\'File not found\'), \'\', nuTranslate(\'CSV File must be located in the temp directory of the nubuilder directory\')]);\n }\n \n }\n \n }\n \n}\n \n\n\nnuAddActionButton(\'transfer\', \"Transfer\", \'nuCheckCSV()\', \'\');\n\n$(\'#csv_transfer\').val(\'export\');\n$(\'#csv_delimiter\').val(\'44\');\n\nnuHide(\'csv_delete_after_import\');\n\nnuCSVTransfer(\'export\');\n\nfunction nuCSVTransfer(t){\n\n if(t == \'export\'){\n \n $(\'#label_csv_from\').html(nuTranslate(\'Export From (Table)\'));\n $(\'#label_csv_to\').html(nuTranslate(\'Export To CSV File\'));\n \n $( \'#csv_from\' ).addClass(\'input_nuScroll nuScroll\').off(\'keydown\').keydown(function() {\n nuFORM.scrollList(event, nuFORM.getJustTables());\n }); \n \n nuHide(\'csv_delete_after_import\');\n \n }else{\n\n $(\'#label_csv_from\').html(nuTranslate(\'Import From CSV File\'));\n $(\'#label_csv_to\').html(nuTranslate(\'Import To (Table)\'));\n\n $( \'#csv_from\' ).addClass(\'input_nuScroll nuScroll\').off(\'keydown\').keydown(function() {\n nuFORM.scrollList(event, nuCSVfiles);\n });\n \n nuShow(\'csv_delete_after_import\');\n\n }\n \n}', NULL, NULL, NULL, '1', NULL),
('nudebug', 'browseedit', 'nudebug', 'nuDebug Results', NULL, NULL, 'zzzzsys_debug', 'zzzzsys_debug_id', '', 31, 13, '1', NULL, 'SELECT * FROM zzzzsys_debug\nLEFT JOIN zzzzsys_user on zzzzsys_user_id = deb_user_id\nWHERE (deb_flag = \'#nuBrowseTitle1_select#\' OR LEFT(\'#nuBrowseTitle1_select#\',1) IN (\'#\',\'\'))\nORDER BY zzzzsys_debug_id DESC', '$(\'#deb_message\')\n.css(\'font-size\', 10 + \'px\')\n.css(\'background-color\', \'#FFEEA6\')\n.prop(\'readonly\', true)\n.on(\'dblclick\', function() {\n nuOpenAce(\'Text\', this.id);\n});\n\n\n$(\'#delete_option\').val(0);\n$(\'#nuAddButton\').remove();\n$(\'#nuOptions\').remove();\n\nvar mess = String($(\'#deb_message\').val());\nvar i = mess.indexOf(\'<br>\');\nvar m = mess.substr(i + 6);\nvar t = mess.substr(0, i);\nvar isHTMLText = m.startsWith(\'<html>\');\n\nnuSetTitle(m.substr(0, i));\n\n$(\'#nuTab0\').remove();\n\n$(\'#nuBreadcrumb2\')\n.css(\'text-align\', \'center\')\n.css(\'width\', \'95%\')\n.css(\'color\', \'black\')\n.css(\'padding\', \'5px\')\n.html(t + \' :: \' + nuWhen(nuEscapeHTML($(\'#deb_added\').val())))\n.appendTo(\"#nuTabHolder\");\n\n$(\'#deb_message\').val(m);\n\n\n$(\"[data-nu-column=\'2\']\").each(function(index) {\n\n if ($(this).html().trim() !== \'\') {\n\n const nuhtm = nuWhen(Number($(this).html()));\n\n $(this).html(nuhtm);\n\n }\n\n});\n\nif (nuFORM.getCurrent().record_id !== \'\') {\n\n $(\'.nuActionButton\').remove();\n nuAddActionButton(\'Delete\');\n\n}\n\nnuAddActionButton(\'DeleteAll\', \'Delete All\', \'nuDeleteAllAction()\');\n\nif (isHTMLText) {\n nuDebugConvertTextareaToDiv();\n}\n\nfunction nuDebugConvertTextareaToDiv() {\n\n const textarea = document.getElementById(\'deb_message\');\n const htmlCode = textarea.value;\n const div = document.createElement(\'div\');\n div.innerHTML = htmlCode;\n div.style.cssText = textarea.style.cssText;\n div.style.userSelect = \'text\';\n textarea.parentNode.replaceChild(div, textarea);\n\n}', '$(function() { \n nuAddBrowseTitleSelect(1, getFlag()); \n $(\"select[id^=\'nuBrowseTitle\']\").parent().off(\"touchstart\");\n});', NULL, NULL, '', NULL),
('nuemailtest', 'launch', 'nuemailtest', 'Send Test Email', NULL, NULL, '', '', '', 0, 0, '0', NULL, '', 'nuAddActionButton(\'nuRuntestemail\', nuTranslate(\'Send\'), \'nuRunPHPHidden(\"NUTESTEMAIL\")\');\n\nif (parent.$(\'#nuModal\').length > 0) {\n\n var p = window.parent;\n $(\'#set_smtp_from_address\').val(p.set_smtp_from_address.value);\n $(\'#ema_to\').val(p.set_smtp_from_address.value);\n $(\'#set_smtp_from_name\').val(p.set_smtp_from_name.value);\n $(\'#ema_body\').val(\'nuBuilder <b>Email<br> Test\');\n $(\'#ema_subject\').val(\'nuBuilder Test - \' + new Date().toLocaleString());\n\n}\n\n\nnuSetToolTip(\'ema_load_data\', nuTranslate(\'Load from Local Storage\'));\nnuSetToolTip(\'ema_save_data\', nuTranslate(\'Save to Local Storage\'));\n\n\nfunction nuemailtestSaveDatatoLS() {\n\n $(\'input[type=text], textarea\').each(function() {\n localStorage.setItem(this.id, $(this).val());\n });\n\n}\n\n\nfunction nuemailtestLoadDatafromLS() {\n\n $(\'input[type=\"text\"], textarea\').each(function() {\n var key = $(this).attr(\'id\');\n\n var value = localStorage.getItem(key);\n if (value || value === \'\') {\n $(this).val(value);\n } else {\n nuMessage(`${nuTranslate(\'Information\')}`, `${nuTranslate(\"There\'s no Data to load in Local Storage\")}`);\n }\n\n });\n}', NULL, NULL, NULL, '1', NULL),
('nuevent', 'edit', 'nuevent', 'Object Events', NULL, NULL, 'zzzzsys_event', 'zzzzsys_event_id', '', 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_event', NULL, NULL, NULL, NULL, NULL, NULL),
('nufastformobjects', 'subform', 'nufastformobjects', 'Fast Form Objects', NULL, NULL, 'zzzzsys_debug', 'zzzzsys_debug_id', '', 0, 0, '0', NULL, ' SELECT count()* FROM zzzzsys_debug', NULL, NULL, NULL, NULL, NULL, NULL),
('nufastreportobjects', 'subform', 'nufastreportobjects', 'Fast Report Objects', NULL, NULL, 'zzzzsys_debug', 'zzzzsys_debug_id', '', 0, 0, '0', NULL, 'SELECT count(*) FROM zzzzsys_debug', NULL, NULL, NULL, NULL, NULL, NULL),
('nufflaunch', 'launch', 'nufflaunch', 'Form Builder', NULL, NULL, '', '', '', 0, 0, '0', NULL, '', 'var useMobileView = nuUseMobileView();\nnuInit();\n\nfunction nuFFSetPrimaryKey() {\n\n let pk = \'\';\n\n if (tableExists) {\n const tableSchema = nuSERVERRESPONSE.tableSchema[fastform_table.value];\n pk = tableSchema === undefined ? \'\': tableSchema.primary_key;\n } else {\n pk = nuGetValue(\'fastform_table\')+\'_id\';\n }\n\n nuSetValue(\'fastform_primary_key\', pk);\n nuShow(\'fastform_primary_key\', (pk == \'\' || !tableExists) && fastform_type.value !== \'launch\')\n\n}\n\nfunction nuFFGetMessageTableEmpty() {\n return nuTranslate(\'Either pick an existing table or enter a new table name.\');\n}\n\nfunction nuInit() {\n\n $(\"[id$=\'ff_browse\']\").nuHide();\n $(\'.nuActionButton\').nuHide();\n\n nuHide([\'fastform_prefix\', \'nuFFAvailableColumnsWord\', \'check_nulog\', \'nuFFAvailableColumns\',\'fastform_primary_key\']);\n nuDisable(\'nuFFAvailableColumns\');\n\n nuSelectRemoveMultiple();\n nuSelectRemoveEmpty(\'obj_sf000ff_type\', \'-1\');\n nuSelectRemoveEmpty(\'fastform_type\', \'-1\');\n nuMoveFieldPrefixToSubform();\n nuSetValue(\'fastform_type\', \'browseedit\');\n\n nuAddActionButton(\'nuRunPHPHidden\', \'Build Fast Form\', \'nuRunPHPHidden(\"RUNFF\", true);\');\n nuSetToolTip(\'fastform_table\', nuFFGetMessageTableEmpty(), true);\n nuSubformEnableMultiPaste(\"obj_sf\", \"#obj_sf000ff_label\", null, callbackPasted);\n nuSetFFTypeOptionsColor(\'obj_sf000ff_type\');\n\n nuSetFK();\n nuDisableLastFFRow();\n\n $(\"#fastform_type > option\").each(function() {\n $(this).addClass(\'nu_\' + this.value);\n });\n\n $(\'#fastform_prefix\').on(\'click\', function(e) {\n e.stopPropagation();\n });\n\n // Show all items again when clicking on the datalist arrow down button\n $(\'#fastform_table\')\n .on(\'click\', function(e) {\n var t = $(this);\n var inpLeft = t.offset().left;\n var inpWidth = t.width();\n var clickedLeft = e.clientX;\n var clickedInpLeft = clickedLeft - inpLeft;\n var arrowBtnWidth = 12;\n if ((inpWidth - clickedInpLeft) < arrowBtnWidth) {\n if (t.val() !== \"\") {\n t.val(\'\');\n }\n }\n })\n\n .on(\'input\',\n function() {\n\n nuSetFFTable();\n nuShowAvailableFields(false);\n\n var selectedOption = $(\'option[value=\"\' + $(this).val() + \'\"]\');\n if (selectedOption.length) {\n\n nuSetProperty(\'available_columns\', $(\'#fastform_table\').val());\n nuSetProperty(\'assigned_columns\', \'\');\n\n $(\'#nuFFAvailableColumns\').empty();\n nuAvailableColumnsSetLoading();\n nuRefreshSelectObject(\'nuFFAvailableColumns\', \'\', true);\n\n }\n });\n\n $(\'#fastform_table\').trigger(\"focus\");\n\n}\n\nfunction callbackPasted(modifiedObjects) {\n\n modifiedObjects.forEach(function(obj) {\n obj.attr(\'data-user-modified\', \'\');\n });\n \n}\n\nfunction nuNoStoreObject(text) {\n return [\'Word\', \'Subform\', \'Image\', \'HTML\', \'Button\'].indexOf(text) !== -1;\n}\n\nfunction nuNoBrowseObject(text) {\n return [\'Display\', \'File\', \'Multiselect\'].indexOf(text) !== -1 || nuNoStoreObject(text)\n}\n\nfunction nuSetFFCheckboxes(type) {\n\n let checkboxes = $(\"[id$=\'ff_browse\']:checkbox\");\n if (type.startsWith(\'browse\')) {\n\n const l = checkboxes.length;\n checkboxes.each(function(index) {\n if (index !== l - 1 && !$(this).is(\"[data-nu-no-browse]\")) {\n $(this).show();\n }\n });\n\n } else {\n checkboxes.hide();\n }\n\n}\n\nfunction nuOnFormTypeChanged() {\n\n var type = nuGetValue(\'fastform_type\');\n\n $(\'#fastform_type\').removeClass().addClass(\'nu_\' + type);\n $(\'#fastform_table\').nuShow(type !== \'launch\');\n\n nuSetFFCheckboxes(type);\n\n $(\"[data-nu-field=\'ff_datatype\']\").nuShow(type !== \'launch\');\n nuShow(\'title_obj_sfff_browse\', type.startsWith(\'browse\'));\n\n nuSetFK();\n\n}\n\nvar tableExists = false;\n\nfunction nuSetFFTable() {\n\n tableExists = nuFORM.getTables().indexOf(nuGetValue(\'fastform_table\')) !== -1;\n\n $(\"[id$=\'ff_column_picker\']\")\n .prop(\'disabled\', !tableExists)\n .toggleClass(\'nuReadonly\', tableExists);\n\n nuShow([\'fastform_prefix\', \'check_nulog\'], !tableExists);\n\n let c = $(\'#nuFFAvailableColumns\');\n\n let l;\n let rl;\n let title = \'\';\n\n if (tableExists) {\n l = c.nuCSSNumber(\'left\') + c.nuCSSNumber(\'width\') + 30;\n rl = \'1473px\';\n title = $(\'#obj_sf000ff_field\').attr(\'title\');\n } else {\n l = c.nuCSSNumber(\'left\');\n }\n\n if (! useMobileView) {\n $(\'#obj_sf\').css(\'left\', l);\n $(\'#ffwrd\').css(\'left\', l);\n $(\'#ff_resize\').css(\'left\', rl);\n }\n \n $(\"[data-nu-field=\'ff_field\']\").attr(\'title\', title);\n\n let bl = $(\"[id$=\'ff_browse\']\").length - 2;\n $(\'#obj_sf\' + nuPad3(bl) + \'ff_browse\').hide();\n\n nuEnableFFDataType();\n nuSetFK();\n\n}\n\nfunction nuSetFK() {\n\n nuHide(\'fastform_fk\');\n\n let table = nuGetValue(\'fastform_table\');\n if (table !== \'\' && nuFORM.getTables().indexOf(table) == -1 && nuGetValue(\'fastform_type\') == \'subform\') {\n nuShow(\'fastform_fk\');\n }\n\n}\n\nfunction nuShowFFO(e) {\n\n let t = $(\'#\' + e.target.id).attr(\'data-nu-prefix\');\n let i = nuGetValue(t + \'ff_id\');\n let l = nuGetValue(t + \'ff_label\');\n let f = nuGetValue(t + \'ff_field\');\n let fff = \'fromfastform|\' + f + \'|\' + l;\n\n nuPopup(\'nuobject\', i, fff);\n\n}\n\n\nfunction nuGetFFDataType(h) {\n\n let t = \"VARCHAR(1000)\";\n\n if (h == \'Checkbox\') t = \"VARCHAR(1)\";\n if (h == \'Display\') t = \"VARCHAR(50)\";\n if (h == \'Lookup\') t = \"VARCHAR(25)\";\n if (h == \'Textarea\') t = \"TEXT\";\n if (h == \'Calc\') t = \"DECIMAL\";\n if (h == \'nuDate\') t = \"DATE\";\n if (h == \'File\') t = \"LONGTEXT\";\n if (h == \'nuAutoNumber\') t = \"VARCHAR(15)\";\n if (h == \'Number\') t = \"INT\";\n if (h == \'nuNumber\') t = \"DECIMAL(12,4)\";\n if (h == \'Button\' || h == \'HTML\' || h == \'Image\' || h == \'Word\' || h == \'Subform\') t = null;\n\n return t;\n\n}\n\nfunction nuEnableFFDataType() {\n\n $(\"[data-nu-field=\'ff_datatype\']\").not(\".nuTabHolder\").each(function() {\n\n var typeId = nuSubformRowObject(this.id, \'ff_type\').attr(\'id\');\n var sel = $(\"#\" + typeId + \" option:selected\").text();\n var noBrowse = nuNoBrowseObject(sel);\n\n $(this).nuEnable(sel !== \'\' && !tableExists && !noBrowse && nuFFFormType() !== \'launch\');\n if (nuFFFormType() == \'launch\') $(this).val(\'\');\n\n });\n\n}\n\nfunction nuSetFFDataType(id, h) {\n\n var dataType = nuGetFFDataType(h);\n var noStoreObject = nuNoStoreObject(h);\n var t;\n\n if (tableExists && !noStoreObject) {\n let index = nuSERVERRESPONSE.tableSchema[fastform_table.value].names.indexOf(\'cot_code\')\n t = index !== -1 ? nuSERVERRESPONSE.tableSchema[fastform_table.value].types[index]: \'\';\n } else\n if (dataType !== null && !tableExists && !noStoreObject && nuFFFormType() !== \'launch\') {\n t = dataType;\n } else {\n t = \'\';\n }\n\n nuEnableFFDataType();\n $(id).val(t);\n\n}\n\nfunction nuFFFormType() {\n return nuGetValue(\'fastform_type\');\n}\n\nfunction nuSelectFFObjects(e) {\n\n if ($(\'#fastform_table\').val().trim() == \'\' && nuFFFormType() !== \'launch\') {\n nuMessage(nuFFGetMessageTableEmpty());\n $(\'#fastform_table\').trigger(\"focus\");\n return;\n }\n\n const isObjectSelect = e.target.id === \'fastform_objects\' ;\n \n var id = isObjectSelect ? nuGetValue(\'fastform_objects\') : e.target.id;\n\n var rowno = nuPad3($(\"[id^=\'obj_sf\'][id$=\'ff_label\']\", document).length - 1);\n var rowsuf = nuPad2(rowno);\n var sfrow = \'#obj_sf\' + rowno;\n\n var h = isObjectSelect ? nuGetText(\'fastform_objects\') : String(e.target.innerHTML).split(\':\');\n var label = (isObjectSelect ? h : h[h.length - 1]) + rowsuf;\n\n nuSetPlaceholder(sfrow.substring(1) + \'ff_label\', label);\n\n $(sfrow + \'ff_label\').val(label).nuEnable().trigger(\'change\');\n $(sfrow + \'ff_id\').val(id);\n $(sfrow + \'ff_type\').val(id).nuEnable();\n $(sfrow + \'ff_field\').nuEnable().attr(\'data-nu-picked\', true);\n $(sfrow + \'nuDelete\').nuEnable();\n\n var r = $(\'#\' + sfrow.substring(1) + \'ff_type\');\n nuSetFFTypeColor(r[0]);\n\n if (nuNoBrowseObject(e.target.innerHTML)) {\n $(sfrow + \'ff_browse\').hide().attr(\'data-nu-no-browse\', \'\');\n } else {\n $(sfrow + \'ff_browse\').show().removeAttr(\'data-nu-no-browse\');\n }\n\n $(\'#fastform_type\').trigger(\'change\');\n\n nuSetFFDataType(sfrow + \'ff_datatype\', h);\n\n $(sfrow + \'ff_field\').trigger(\"focus\");\n\n}\n\nfunction nuOnChangeFFType(t, event) {\n\n let target = event.target;\n let i = target.id;\n\n let id = nuSubformRowObject(i, \'ff_id\');\n let browse = nuSubformRowObject(i, \'ff_browse\');\n let label = nuSubformRowObject(i, \'ff_label\');\n let field = nuSubformRowObject(i, \'ff_field\');\n let dataType = nuSubformRowObject(i, \'ff_datatype\');\n let objType = nuSubformRowObject(i, \'ff_type\');\n let typeText = $(target).find(\"option:selected\").text();\n let number = $(label).attr(\'placeholder\').nuJustNumbers();\n\n nuSetPlaceholder(label.attr(\'id\'), typeText + number);\n\n if (field.val() == \'\') {\n label.val(typeText + number);\n }\n\n id.val(t.value);\n\n let noStoreObj = nuNoStoreObject(typeText);\n if (noStoreObj || nuFFFormType() === \'launch\') {\n $(browse).hide().attr(\'data-nu-no-browse\', \'\').prop(\'checked\', 0);\n nuSetValue(browse.id, true);\n } else {\n $(browse).show();\n }\n\n let objTypeText = nuGetValue($(objType).attr(\'id\'), \'text\');\n nuSetFFDataType(\'#\' + $(dataType).attr(\'id\'), objTypeText);\n\n nuEnableFFDataType();\n nuSetFFTypeColor(t);\n\n}\n\nfunction nuOnChangeFFField(t, event) {\n\n if (tableExists) {\n\n let i = nuSERVERRESPONSE.tableSchema[fastform_table.value].names.indexOf(t.value);\n let dataType = i === -1 ? \'\': nuSERVERRESPONSE.tableSchema[fastform_table.value].types[i].toUpperCase();\n nuSubformRowObject(event.target.id, \'ff_datatype\').val(dataType);\n\n }\n\n\n}\n\nvar selectedField = null;\n\nfunction onColumnPicker(event) {\n\n let id = event.target.id;\n if (id != \'\') {\n selectedField = nuSubformRowObject(id, \'ff_field\');\n if ($(selectedField).attr(\'data-nu-picked\')) {\n $(\"[id$=\'ff_field\']\").removeClass(\'nuHighlight\');\n $(selectedField).addClass(\'nuHighlight\');\n }\n }\n\n}\n\nfunction nuShowAvailableFields(v) {\n\n let ac = [\'nuFFAvailableColumns\',\n \'nuFFAvailableColumnsWord\'];\n if (!tableExists) {\n nuHide(ac);\n return;\n }\n\n nuShow(ac);\n\n if (v) {\n let arr = nuSubformColumnArray(\'obj_sf\', \'ff_field\');\n arr.push(\'\');\n disableFromSelect(\'nuFFAvailableColumns\', arr);\n $(\'#nuFFAvailableColumns\').prop(\'disabled\', false).removeClass(\'nuReadonly\');\n } else {\n if ($(\'#nuFFAvailableColumns option\').not(\"[value=\'\']\").length !== 0) {\n $(\'#nuFFAvailableColumns\').prop(\'disabled\', true).addClass(\'nuReadonly\');\n }\n }\n}\n\nfunction disableFromSelect(id, arrOptionsVal) {\n\n $(\"#nuFFAvailableColumns\").children(\'option\').attr(\"disabled\", false);\n $(\'#\' + id).find(\'option\').filter(function() {\n return arrOptionsVal.indexOf(this.value) != -1;\n }).attr(\"disabled\", true);\n\n}\n\nfunction nuSelectObjectRefreshed(o, f, c) {\n if (c == 0) nuShowAvailableFields(false);\n}\n\nfunction nuMoveFieldPrefixToSubform() {\n\n let title = $(\'#title_obj_sfff_field\');\n title.html(title.html() + \'<br>\');\n let prefix = $(\'#fastform_prefix\');\n title.append(prefix);\n nuSetPlaceholder(\'fastform_prefix\', \'Prefix\', true);\n prefix.css({\n \'top\': \'1px\',\n \'left\': \'0px\',\n \'position\': \'relative\',\n \'background-color\': \'#afe9ff\'\n });\n\n}\n\nfunction nuSetLabel(field, label) {\n\n let i = field.indexOf(\'_\');\n if (i == 2 || i == 3) {\n field = field.substring(i + 1);\n }\n\n label.val(field.replaceAll(\'_\', \' \').nuCapitalise().nuToTitleCase()).trigger(\'change\');\n\n}\n\nfunction nuAvailableFieldsOnClick(event, t) {\n\n if (selectedField !== null) {\n\n let v = t.value;\n $(selectedField).val(v).trigger(\'change\');\n\n let label = $(\'#\' + $(selectedField).attr(\'id\').replace(\'field\', \'label\'));\n if (label.is(\'[data-user-modified]\')) {\n let answer = window.confirm(nuTranslate(\'Overwrite the Label?\'));\n if (!answer) return;\n }\n\n nuSetLabel(v, label);\n\n nuSubformMoveFocus(selectedField, 1);\n\n }\n\n nuShowAvailableFields(true);\n}\n\nfunction nuGetStringAfterSubstring(parentString, substring) {\n return parentString.substring(parentString.indexOf(substring) + substring.length)\n}\n\nfunction nuAvailableColumnsSetLoading() {\n $(\'#nuFFAvailableColumns\').prepend(\'<option disabled=\"disabled\">\' + nuTranslate(\'Loading\') + \'...\' + \'</option>\');\n}\n\nfunction nuChangePrefix(prefix) {\n\n prefix = prefix.trim() === \'\' ? \'\': prefix + \'_\';\n let fieldArr = nuSubformColumnArray(\'obj_sf\', \'ff_field\');\n\n for (var i = 0; i < fieldArr.length; i++) {\n var n = fieldArr[i].indexOf(\"_\");\n if (n == -1 || n == 2 || n == 3) {\n\n var f = $(\'#obj_sf\' + nuPad3(i) + \'ff_field\');\n if (f.val() !== \'\') {\n f.val(prefix + nuGetStringAfterSubstring(f.val(), \'_\')).trigger(\'change\');\n }\n\n }\n }\n\n}\n\nfunction nuDisableLastFFRow() {\n\n let l = nuSubformObject(\'obj_sf\').rows.length;\n\n let rowPrefix = \'#obj_sf\' + nuPad3(l == 1 ? 0: l - 1);\n $(rowPrefix + \'ff_label\').nuDisable();\n $(rowPrefix + \'ff_field\').nuDisable();\n $(rowPrefix + \'ff_type\').nuDisable();\n $(rowPrefix + \'ff_type\').nuDisable();\n $(rowPrefix + \'ff_datatype\').nuDisable();\n\n}\n\nfunction nuButtonClass(id) {\n return $(\'#\' + id).attr(\'class\').split(\' \')[1];\n}\n\nfunction nuSetFFTypeOptionsColor(id) {\n\n $(\"#\" + id + \" > option\").each(function() {\n if (this.value !== \'\') {\n $(this).addClass($(\'#\' + this.value).attr(\'class\').split(\' \')[1]);\n }\n });\n\n}\n\nfunction nuSetFFTypeColor(t) {\n\n let x = \'#\' + t.value;\n if (t.value !== \'\') {\n let id = $(x);\n $(t).removeClass().addClass(id.attr(\'class\').split(\' \')[1]);\n }\n\n}\n\nfunction nuSetDataUserModified(t, event) {\n\n if ([37, 38, 39, 40, 9, 13].indexOf(event.keyCode) === -1) {\n $(t).attr(\'data-user-modified\', \'\');\n }\n\n}\n\nfunction nuOnBlurFFLabel(t, event) {\n\n if (!tableExists) {\n\n let ff_field = nuSubformRowObject(event.target.id, \'ff_field\');\n if (!ff_field.is(\'[data-user-modified]\') && $(t).is(\'[data-user-modified]\')) {\n let v = $(t).val();\n if (v !== \'\') {\n let prefix = $(\'#fastform_prefix\').val();\n ff_field.val((prefix === \'\' ? \'\': prefix + \'_\') + v.toLowerCase().replaceAll(\' \', \'_\')).trigger(\'change\');\n }\n }\n }\n\n}\n\nfunction nuOnBlurFFField(t, event) {\n\n var v = $(t).val().trim();\n if (v !== \'\') {\n\n let prefix = $(\'#fastform_prefix\').val();\n if (!v.startsWith(prefix)) {\n v = prefix + \'_\' + v;\n $(t).val(v);\n }\n\n let label = nuSubformRowObject(event.target.id, \'ff_label\');\n if (!label.is(\'[data-user-modified]\')) {\n nuSetLabel(v, label);\n }\n }\n\n}\n\nfunction nuClickDelete(event) {\n\n let id = event.target.id;\n let sf = $(\'#\' + id).attr(\'data-nu-checkbox\');\n let row = id.substring(sf.length, sf.length + 3);\n let checked = $(\'#\' + id).is(\":checked\");\n\n $(\'[id^=\' + sf + nuPad3(row) + \']\')\n .not(\':button, :checkbox\')\n .toggleClass(\'nuSubformDeleteTicked\', checked)\n .toggleClass(\'nuReadonly\', checked)\n .nuEnable(!checked);\n\n}\n\nfunction nuFFInvalidColumns() {\n\n let msg = \'\';\n let table = nuGetValue(\'fastform_table\');\n\n if (nuFORM.getTables().indexOf(table) == -1) return \'\';\n\n let sf = nuSubformObject(\'obj_sf\');\n for (let i = 0; i < sf.rows.length; i++) {\n\n let field = sf.rows[i][2];\n let type = nuGetValue(\'obj_sf\' + nuPad3(i) + \'ff_type\', \'text\');\n let exists = nuFORM.tableSchema[table].names.indexOf(field);\n if (sf.deleted[i] != 1 && exists == -1 && !nuNoStoreObject(type)) {\n msg += nuTranslate(\'Invalid Field Name\') + \' <b>\' + field + \'</b><br>\'\n }\n\n }\n\n return msg;\n\n}\n\nfunction nuBeforeSave() {\n\n let table = nuGetValue(\'fastform_table\');\n let type = nuGetValue(\'fastform_type\');\n let pk = nuGetValue(\'fastform_primary_key\');\n let fk = nuGetValue(\'fastform_fk\');\n\n if (table === \'\' && type !== \'launch\') {\n nuMessage(nuTranslate(\'Validation Error\'), [\'<b>\' + nuTranslate(\'Table Name\') + \'</b> \' + nuTranslate(\'cannot be left blank\')]);\n return false;\n }\n\n if (type === \'\') {\n nuMessage(nuTranslate(\'Validation Error\'), [\'<b>\' + nuTranslate(\'Form Type\') + \'</b> \' + nuTranslate(\'cannot be left blank\')]);\n return false;\n }\n\n if (pk === \'\') {\n nuMessage(nuTranslate(\'Validation Error\'), [\'<b>\' + nuTranslate(\'Primary Key\') + \'</b> \' + nuTranslate(\'cannot be left blank\')]);\n return false;\n }\n\n if (type.startsWith(\'browse\') && $(\"[data-nu-field=\'ff_browse\']:checked\").length === 0) {\n\n nuMessage(nuTranslate(\'Validation Error\'), [nuTranslate(\'At least 1 Browse needs to be checked\')]);\n return false;\n\n }\n\n let fieldArr = nuSubformColumnArray(\'obj_sf\', \'ff_field\');\n if (fieldArr.includes(\'\') || !nuArrayIsUnique(fieldArr)) {\n\n nuMessage(nuTranslate(\'Validation Error\'), nuTranslate(\'The Field Names must be both unique and not blank\'));\n return false;\n\n }\n\n // let pk = table + \'_id\';\n if (fieldArr.includes(pk)) {\n\n nuMessage(nuTranslate(\'Validation Error\'), nuTranslate(\'The Primary Key %s must not be entered.\').replace(\'%s\', \'<b>\' + pk + \'</b>\'));\n return false;\n\n }\n\n if (type === \'subform\' && table !== \'\' && nuFORM.getTables().indexOf(table) === -1 && fk === \'\') {\n\n nuMessage(nuTranslate(\'Validation Error\'), [\'<b>\' + nuTranslate(\'Foreign Key Field Name\') + \'</b> \' + nuTranslate(\'cannot be left blank\')]);\n return false;\n\n }\n\n let a = [];\n for (var i = 0; i < nuSubformObject(\'obj_sf\').rows.length; i++) {\n a.push(nuSubformObject(\'obj_sf\').rows[i][2]);\n }\n\n if (fk !== \'\' && a.indexOf(fk) > -1 && type === \'subform\') {\n\n nuMessage(nuTranslate(\'Validation Error\'), [\'<b>\' + nuTranslate(\'Foreign Key Field Name\') + \'</b> \' + nuTranslate(\'is already used\')]);\n return false;\n\n }\n\n if (nuGetValue(\'obj_sf000ff_field\') == \'\') {\n\n nuMessage(nuTranslate(\'Validation Error\'), nuTranslate(\' At least one Field must be specified\'));\n return false;\n\n }\n\n let invalidColumns = nuFFInvalidColumns();\n if (invalidColumns !== \'\') {\n\n nuMessage(invalidColumns);\n return false;\n\n }\n\n return true;\n\n}', NULL, NULL, NULL, '1', NULL);
INSERT INTO `zzzzsys_form` (`zzzzsys_form_id`, `sfo_type`, `sfo_code`, `sfo_description`, `sfo_group`, `sfo_breadcrumb_title`, `sfo_table`, `sfo_primary_key`, `sfo_browse_redirect_form_id`, `sfo_browse_row_height`, `sfo_browse_rows_per_page`, `sfo_browse_title_multiline`, `sfo_browse_autoresize_columns`, `sfo_browse_sql`, `sfo_javascript`, `sfo_browse_javascript`, `sfo_edit_javascript`, `sfo_style`, `sfo_mobile_view`, `sfo_json`) VALUES
('nufile', 'browseedit', 'nufile', 'Files', NULL, '#sfi_code#|New', 'zzzzsys_file', 'zzzzsys_file_id', '', 150, 3, '0', NULL, 'SELECT * FROM zzzzsys_file\nORDER BY sfi_code', NULL, 'showBrowseImages();\nscaleImages();\n$(\'#nuBrowseTitle3\').css(\'text-align\', \'left\');\nnuSetNoSearchColumns([2, 3]);\n\n$(\'[data-nu-column=\"0\"]\').each(function(index) {\n var code = \'#nucell_\' + index + \'_\';\n window.nuImages[$(code + \'0\').text()] = $(code + \'2\').text();\n});\n\nfunction showBrowseImages() {\n\n $(\'[data-nu-column=\"0\"]\').each(function(index) {\n\n var p = $(this).attr(\'id\');\n var r = String(p).split(\'_\')[1];\n var i = \"nucell_\" + r + \"_2\";\n var e = \"nucell_\" + r + \"_3\";\n var h = $(\'#\' + i).html();\n\n if (h !== \'\' && h !== undefined) {\n\n nuEmbedObject(h, e, 140, 140);\n\n }\n\n });\n\n}\n\n\nfunction scaleImages() {\n\n $(\"[data-nu-column=\'3\']\").each(function(index) {\n\n var t = $(this);\n if (t.html().trim() !== \'\') {\n\n var embed = t.find(\'embed\');\n if (t.length == 1) {\n\n var p = new Image();\n p.src = embed.attr(\'src\');\n\n if (p.width < t.outerWidth() && p.height < t.outerHeight()) {\n embed.css({\n \'width\': p.width,\n \'height\': p.height\n });\n embed.css(\'height\', p.height);\n }\n\n }\n }\n\n });\n\n}', 'nuFilesDisplayFile($(\'#sfi_json\').val());\nnuSetToolTip(\'sfi_file_input\', nuTranslate(\'Max. 300Kb\'));\n\nfunction nuBeforeSave() {\n\n const file = $(\'#sfi_file\').val();\n\n if (file !== \'\') {\n\n $(\'#sfi_json\')\n .val(file)\n .change();\n\n }\n\n return true;\n\n}\n\nfunction nuFilesDisplayFile(json) {\n nuEmbedObject(json, \'view_image\', -1, -1);\n nuShow(\'view_image\', json !== \'\');\n}\n\nfunction nuOnFileLoaded(e, id, json) {\n nuFilesDisplayFile(json);\n}', NULL, '1', NULL),
('nuform', 'browseedit', 'nuform', 'Forms', NULL, '#sfo_code#|New', 'zzzzsys_form', 'zzzzsys_form_id', '', 0, 0, '1', NULL, 'SELECT * FROM zzzzsys_form\nINNER JOIN #TABLE_ID# ON zzzzsys_form_id = theid\nORDER BY sfo_code', NULL, ' $(\"[data-nu-column=\'1\']\").each(function() {\n $(this).addClass(\'nu_\' + this.textContent);\n });\n\n // Adjust Padding-Top for Preview Button\n $(\"[data-nu-column=\'0\']\").each(function() {\n $(this).css(\'padding-top\', \'2px\');\n });\n\n\n\n\n$(function() {\n if (!nuMainForm()) { // Hide Preview\n nuSetBrowseColumnSize(0, 0);\n } else {\n addRowButtons(0);\n }\n\n $(\"[data-nu-column=\'1\']\").addClass(\'nuCellColored\');\n\n\n});\n\n\nfunction createButton(target, pk, formType) {\n\n var btn = $(\"<button id=\'nuPreviewButton\' type=\'button\' data-form-type=\'\" + formType + \"\' class=\'nuActionButton\'><i class=\'fa fa-search\'></i> </button>\");\n\n $(target).html(btn).attr(\'title\', nuTranslate(\'Preview Form\'));\n btn.on(\'click\', function(e) {\n e.stopPropagation();\n const ft = $(this).attr(\"data-form-type\");\n const r = ft == \'launch\' || ft == \'edit\' || ft == \'subform\' ? \'-1\' : \'\';\n nuForm(pk, r, \'\', \'\');\n });\n}\n\nfunction addRowButtons(column) {\n\n $(\"[data-nu-column=\'\" + column + \"\']\").each(function(index) {\n\n var pk = $(this).attr(\'data-nu-primary-key\');\n var r = $(this).attr(\'data-nu-row\');\n var formType = $(\'#nucell_\' + r + \'_1\').html();\n\n if (typeof pk !== \"undefined\") {\n createButton(this, pk, formType);\n }\n })\n\n}\n\n\n', 'if ($(\'#zzzzsys_tab_sf000syt_access\').val() !== \'\') {\n nuMessage(nuTranslate(\'Validation Error\'), nuTranslate(\'The first tab must not be set to hidden\'));\n}\n\nfunction nuDisplayObjectRefreshed(obj) {\n\n let v = nuGetValue(obj);\n if (v != \'\' && sfo_primary_key.value !== v) {\n nuSetValue(\'sfo_primary_key\', v);\n }\n}\n\nnuAccessFormSetButtonIcons();\n\nfunction nuFormColorObjectTypes() {\n\n // Color Types\n $(\'select[id$=sob_all_type]\').find(\'option\').each(function(index, element) {\n $(element).addClass(\'nu_\' + element.value);\n });\n\n $(\'select[id$=sob_all_type]\').each(function(index, element) {\n\n $(element).removeClass();\n $(element).addClass(\'nu_\' + element.value);\n });\n\n}\n\nfunction nuFormSetControlsVisibility() {\n\n var pb = \'previewbrowse\';\n var pe = \'previewedit\';\n var js = \'sfo_javascript\';\n\n var bb = \'bb_event\';\n var be = \'be_event\';\n var bs = \'bs_event\';\n var as = \'as_event\';\n var bd = \'bd_event\';\n var ad = \'ad_event\';\n\n nuEnable([pb, pe, bb, be, bs, as, bd, ad, js]);\n\n var t = String($(\'#sfo_type\').val());\n\n if (t == \'browseedit\') {\n nuEnable([\'js_edit\', \'js_browse\', \'js_browse_edit\']);\n } else\n if (t == \'browse\') {\n nuDisable([pe, be, bs, as, bd, ad, \'js_edit\']);\n nuEnable([\'js_browse\', \'js_browse_edit\']);\n } else\n if (t == \'edit\') {\n nuDisable([pb, pb, bb, \'js_browse\']);\n nuEnable([\'js_edit\', \'js_browse_edit\']);\n } else\n if (t == \'launch\') {\n nuDisable([pb, bb, bs, as, bd, ad, \'js_browse\', \'js_edit\']);\n nuEnable(\'js_browse_edit\');\n } else\n if (t == \'subform\') {\n nuDisable([pb, bb, be, bs, as, bd, ad, js, \'js_browse\', \'js_edit\', \'js_browse_edit\']);\n $(\'#js_browse_edit\').html(\'Launch\');\n }\n\n for (let i = 1; i <= 3; i++) {\n nuShow(\'nuTab\' + i, t !== \'subform\' || i == 1);\n }\n\n}\n\nfunction nuFormAfterInsertRowObjects() {\n nuFormColorObjectTypes();\n}\n\nfunction nuFormJSMod(i) {\n\n var js = $(\'#\' + i);\n\n if (js.val() !== \'\') {\n $(\'#nuTab2\').css(\'font-weight\', \'bold\');\n }\n\n js.addClass(\'js\');\n\n}\n\nif (nuFormType() == \'edit\') {\n\n $(\'#sfo_code_snippet_sql_lookupbutton\').on(\'click\', function() {\n nuSetSnippetFormFilter(0, 0, 1, 0); // Custom Code\n });\n\n $(\'#sfo_code_snippet_lookupbutton\').on(\'click\', function() {\n nuSetSnippetFormFilter(1, 0, 0, 0); // SQL\n });\n\n nuFormColorObjectTypes();\n\n $(\'#title_objformbtnOpenDetails\').html(nuTranslate(\'Details\'));\n\n nuHide(\'sfo_code_snippet_lookupcode\');\n nuHide(\'sfo_code_snippet_sql_lookupcode\');\n nuHide(\'label_sfo_browse_sql\');\n\n nuSetPlaceholder(\'sfo_javascript\', \'JavaScript / Browse & Edit\');\n nuSetPlaceholder(\'sfo_browse_javascript\', \'JavaScript / Browse\');\n nuSetPlaceholder(\'sfo_edit_javascript\', \'JavaScript / Edit\');\n nuSetPlaceholder(\'sfo_style\', \'CSS\');\n\n $(\'#title_zzzzsys_tab_sfsyt_help\').attr(\'id\', \'help_title\');\n $(\"[id$=\'syt_help\']\").addClass(\'js\');\n\n nuAttachButtonImage(\'previewbrowse\', \'PB\', \'nuButtonImageSmall\');\n nuAttachButtonImage(\'previewedit\', \'PE\', \'nuButtonImageSmall\');\n nuAttachButtonImage(\'bb_event\', \'BB\', \'nuButtonImageSmall\');\n nuAttachButtonImage(\'be_event\', \'BE\', \'nuButtonImageSmall\');\n nuAttachButtonImage(\'bs_event\', \'BS\', \'nuButtonImageSmall\');\n nuAttachButtonImage(\'as_event\', \'AS\', \'nuButtonImageSmall\');\n nuAttachButtonImage(\'bd_event\', \'BD\', \'nuButtonImageSmall\');\n nuAttachButtonImage(\'ad_event\', \'AD\', \'nuButtonImageSmall\');\n nuAttachButtonImage(\'icon_js\', \'JS\');\n nuAttachButtonImage(\'icon_sql\', \'SQL\');\n nuAttachButtonImage(\'icon_php\', \'PHP\');\n nuAttachButtonImage(\'icon_style\', \'CSS\');\n\n nuFormJSMod(\'sfo_edit_javascript\');\n nuFormJSMod(\'sfo_browse_javascript\');\n nuFormJSMod(\'sfo_javascript\');\n\n nuHide(\'sfo_edit_javascript\');\n nuHide(\'sfo_browse_javascript\');\n nuHide(\'sfo_style\');\n\n $(\'#sfo_style\').addClass(\'css\');\n\n $(\'#sfo_browse_sql\').addClass(\'sql\').css(\'font-size\', \'10px\');\n\n if (!nuIsNewRecord()) {\n nuFormUpdateAclCount();\n }\n\n nuFromDefaultDescription();\n\n nuACEInitDblClickHandlers();\n\n nuFormUpdateDisplayDatalists();\n\n nuFormTypeChanged();\n\n let js = nuGetProperty(\'js\');\n if (js !== undefined) {\n let js_button = nuGetProperty(\'js_button\');\n nuFormJSSelectCustomCode(\'#\' + js_button, js);\n } else {\n if ($(\'#sfo_javascript\').val() == \'\' && $(\'#sfo_edit_javascript\').val() == \'\' && $(\'#sfo_browse_javascript\').val() !== \'\') {\n nuFormJSSelectCustomCode(\'#js_browse\', \'sfo_browse_javascript\');\n } else if ($(\'#sfo_javascript\').val() == \'\' && $(\'#sfo_browse_javascript\').val() == \'\' && $(\'#sfo_edit_javascript\').val() !== \'\') {\n nuFormJSSelectCustomCode(\'#js_edit\', \'sfo_edit_javascript\');\n } else {\n nuFormJSSelectCustomCode(\'#js_browse_edit\', \'sfo_javascript\');\n }\n }\n\n nuFormHighlightJSButtons();\n\n\n}\n\nif (window.filter == \'justjs\') {\n\n $(\'#nuDeleteButton\').remove();\n $(\'#nuCloneButton\').remove();\n $(\'#nuTab0\').remove();\n $(\'#nuTab1\').remove();\n $(\'#nuTab2\').trigger(\"click\");\n $(\'#nuTab2\').remove();\n\n nuSetTitle($(\'#sfo_description\').val());\n\n}\n\n\n$(\'#user_home\')\n.css({\n \'color\': \'white\',\n \'font-size\': \'13px\',\n \'display\': \'inline\',\n \'border-style\': \'solid\',\n \'height\': 30,\n \'text-shadow\': \'0 1px 2px #9AB973\',\n \'border-color\': \'#9AB973\',\n \'border-width\': \'0px 0px 1px 0px\',\n \'background-color\': \'#88cb51\'\n});\n\nfunction nuFormTypeChanged() {\n\n var t = String($(\'#sfo_type\').val());\n\n var pb = \'previewbrowse\';\n var pe = \'previewedit\';\n\n var bb = \'bb_event\';\n var be = \'be_event\';\n var bs = \'bs_event\';\n var as = \'as_event\';\n var bd = \'bd_event\';\n var ad = \'ad_event\';\n\n nuEnable([pb, pe, bb, be, bs, as, bd, ad]);\n\n if (t == \'browse\') {\n nuDisable([pe, be, bs, as, bd, ad]);\n } else\n if (t == \'edit\') {\n nuDisable([pb, pb, bb]);\n } else\n if (t == \'launch\') {\n nuDisable([pb, bb, bs, as, bd, ad]);\n } else\n if (t == \'subform\') {\n nuDisable([pb, bb, be, bs, as, bd, ad]);\n nuDisable(\'sfo_javascript\');\n }\n\n var h = $(\'#sfo_type\').addClass(\'nuEdited\');\n\n var o = [];\n o.browse = [0,\n 1,\n 2];\n o.edit = [0,\n 2];\n o.browseedit = [0,\n 1,\n 2];\n o.launch = [0,\n 2];\n o.subform = [0,\n 1];\n\n $(\'#sfo_type\').removeClass();\n $(\'#sfo_type\').addClass(\'nu_\' + $(\'#sfo_type\').val());\n\n if (h) {\n $(\'#sfo_type\').addClass(\'nuEdited\');\n }\n\n $(\"#sfo_type > option\").each(function() {\n $(this).addClass(\'nu_\' + this.value);\n });\n\n for (var i = 0; i < 7; i++) {\n $(\'#nuTab\' + i).removeClass(\'nuRelatedTab\');\n }\n\n t = o[$(\'#sfo_type\').val()];\n if (t !== undefined) {\n\n for (i = 0; i < t.length; i++) {\n $(\'#nuTab\' + t[i]).addClass(\'nuRelatedTab\');\n }\n\n }\n\n nuFormSetControlsVisibility();\n\n}\n\nfunction nuFormEventList() {\n\n if ($(\'sob_all_type\').val() == \'subform\') {\n return [\'onchange\',\n \'onadd\'];\n } else {\n return [\'onblur\',\n \'onchange\',\n \'onfocus\',\n \'onkeydown\'];\n }\n\n}\n\nfunction nuFormOnDisplayBlur(event) {\n\n var id = event.target.id;\n\n var obj;\n obj = nuSubformRowObject(id, \'sbr_display\');\n var dispValue = obj.val();\n if (dispValue !== \'\' && (dispValue.charAt(3) == \'_\' || dispValue.charAt(2) == \'_\')) {\n\n let idx = dispValue.indexOf(\'_\');\n if (idx == 2 || idx == 3) {\n dispValue = dispValue.substring(idx + 1);\n }\n\n const title = dispValue.replaceAll(\'_\', \' \').nuCapitalise().nuToTitleCase();\n\n let objTitle = nuSubformRowObject(id, \'sbr_title\');\n if (objTitle.val() == \'\') objTitle.val(title).change();\n }\n\n}\n\nfunction nuFormOnTitleDisplayChanged(event) {\n\n var obj;\n var id = event.target.id;\n\n if (nuSubformRowObject(id, \'sbr_display\').val().trim() == \'\' && nuSubformRowObject(id, \'sbr_title\').val().trim()) return;\n\n obj = nuSubformRowObject(id, \'sbr_width\');\n if (obj.val() == \'\') obj.val(100).change();\n\n obj = nuSubformRowObject(id, \'sbr_align\');\n if (obj.prop(\"selectedIndex\") < 2) obj.prop(\"selectedIndex\", 1).change();\n\n obj = nuSubformRowObject(id, \'sbr_order\');\n if (obj.val() == \'\') {\n\n var max = 0;\n $(\'[data-nu-field=sbr_order]\').each(function() {\n var v = parseInt($(this).val());\n max = (v > max) ? v: max;\n });\n\n obj.val(max + 10).change();\n }\n\n}\n\nfunction nuFormOnTabsTitleChanged(event) {\n\n var obj;\n var id = event.target.id;\n\n if (nuSubformRowObject(id, \'syt_title\').val().trim() == \'\' && nuSubformRowObject(id, \'syt_title\').val().trim()) return;\n\n obj = nuSubformRowObject(id, \'syt_order\');\n if (obj.val() == \'\') {\n\n var max = 0;\n $(\'[data-nu-field=syt_order]\').each(function() {\n var v = parseInt($(this).val());\n max = (v > max) ? v: max;\n });\n\n obj.val(max + 10).change();\n }\n\n}\n\nfunction nuFromDefaultDescription() {\n\n var s = \'zzzzsys_browse_sf\';\n var r = nuSubformObject(s).rows.length - 1;\n var o = s + nuPad3(r) + \'sbr_title\';\n\n nuSetPlaceholder(o, \'Something\');\n\n}\n\nfunction nuFormUpdateAclCount() {\n const l = $(\"[data-nu-field=\'slf_zzzzsys_access_id\']\").length - 2;\n const t = l <= 0 ? \'\': \' (\' + l + \')\';\n $(\'#nuTab3\').html(nuTranslate(\'Access Levels\') + t);\n}\n\nfunction nuFormUpdateDisplayDatalists(i) {\n\n const a = nuFORM.SQLFields($(\'#sfo_browse_sql\').val());\n const selector = i === undefined ? \"[id$=\'sbr_display\']\": \"#\" + i;\n\n $(selector).each(function() {\n nuAddDatalist($(this).attr(\'id\'), a);\n });\n}\n\nfunction nuBeforeSave() {\n\n var dupDisplay = nuSubformColumnUnique(\'zzzzsys_browse_sf\', \'sbr_display\', \'Display (Browse)\');\n\n if (dupDisplay !== true) {\n\n nuMessage(dupDisplay);\n return false;\n }\n\n return true;\n\n}\n\nfunction nuFormJSSelectCustomCode(t, obj) {\n\n $(\'[data-custom-code-textarea-button]\').removeClass(\'nuButtonSelected\');\n $(t).addClass(\'nuButtonSelected\');\n nuSetProperty(\'js\', obj);\n nuSetProperty(\'js_button\', $(t).attr(\'id\'));\n\n $(\'[data-custom-code-textarea]\').nuHide();\n nuShow(obj);\n $(\'#\' +obj).trigger(\'focus\');\n\n nuFormHighlightJSButtons()\n\n}\n\nfunction nuFormHighlightJSButtons() {\n\n $(\'#js_edit\').toggleClass(\'nuButtonHighlighted\', $(\'#sfo_edit_javascript\').val() !== \'\');\n $(\'#js_browse\').toggleClass(\'nuButtonHighlighted\', $(\'#sfo_browse_javascript\').val() !== \'\');\n $(\'#js_browse_edit\').toggleClass(\'nuButtonHighlighted\', $(\'#sfo_javascript\').val() !== \'\');\n $(\'#css_style\').toggleClass(\'nuButtonHighlighted\', $(\'#sfo_style\').val() !== \'\');\n\n}\n\n/*\n\nfunction nuOnMobileViewComplete() {\n \n const elements = [\n { input: \'#sfo_browse_javascript\' },\n { input: \'#sfo_edit_javascript\' },\n { input: \'#sfo_style\' },\n ];\n\n const inputAnchorTop = $(\'#sfo_javascript\').nuCSSNumber(\'top\');\n\n elements.forEach(({ input, offsety = 0 }) => {\n $(input).css(\'top\', inputAnchorTop + offsety);\n $(\'label_\' + input).css(\'top\', inputAnchorTop + offsety);\n });\n \n}\n*/\n\nfunction nuOnMobileBeforeObjectPosition(id, element, top) {\n\n if (id === \'sfo_edit_javascript\' || id === \'sfo_javascript\' || id === \'sfo_style\') {\n top = 100;\n }\n \n return { top };\n \n}', '', '1', NULL),
('nuformat', 'browseedit', 'nuformat', 'Formats', NULL, '#srm_format#|New', 'zzzzsys_format', 'zzzzsys_format_id', '', 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_format \nORDER BY srm_type, srm_format', 'var $sign = $(\'#sign\');\nvar $separator = $(\'#separator\');\nvar $decimal = $(\'#decimal\');\nvar $places = $(\'#places\');\nvar $srmFormat = $(\'#srm_format\');\nvar $srmType = $(\'#srm_type\');\nvar $srmCurrency = $(\'#srm_currency\');\n\n$sign.addClass(\'nu-bold-big-text\');\n$separator.addClass(\'nu-bold-big-text\');\n$decimal.addClass(\'nu-bold-big-text\');\n$places.addClass(\'nu-bold-big-text\');\n$srmFormat.addClass(\'nuReadonly\').css(\'font-size\', \'22px\');\n\nnuSetFormatType();\n\nfunction nuAddToFormat(e) {\n const srmTypeVal = $srmType.val();\n if (srmTypeVal === \'Date\') {\n let v = String(e.target.innerHTML);\n if (v === \'Space\') {\n v = \' \';\n }\n $srmFormat.nuSetValue($srmFormat.val() + v);\n } else {\n const si = $sign.val();\n const se = $separator.val();\n const pl = $places.val();\n const de = Number(pl) > 0 ? $decimal.val() : \'\';\n const cu = JSON.stringify([si, se, de, pl]);\n\n const space = si !== \'\' ? \' \' : \'\';\n $srmFormat.val(si + space + \'1\' + se + \'000\' + de + String(0).repeat(pl)).trigger(\'change\');\n $srmCurrency.nuSetValue(cu);\n }\n}\n\nfunction nuSetFormatType(a) {\n \n const argLength = arguments.length;\n nuHide(\'nucalculator\');\n $(\"[data-nu-nunumber-format]\").nuHide();\n\n if (argLength === 1) {\n $srmFormat.val(\'\');\n }\n\n const srmTypeVal = $srmType.val();\n if (srmTypeVal === \'Date\') {\n if (argLength === 1) {\n $srmFormat.val(\'\');\n }\n nuShow(\'nucalculator\');\n }\n\n if (srmTypeVal === \'Number\') {\n if (argLength === 1) {\n $srmFormat.val(\'1000\');\n nuAddToFormat();\n }\n $(\"[data-nu-nunumber-format]\").nuShow();\n }\n\n $(\"[data-nu-nunumber-format]\").nuShow(srmTypeVal === \'Number\');\n\n}\n', NULL, NULL, '.nu-bold-big-text {\n font-style: bold;\n font-size: 18px;\n}', '1', NULL),
('nufrlaunch', 'launch', 'nufrlaunch', 'Fast Report', NULL, NULL, '', '', '', 0, 0, '0', NULL, '', '\n$(\'#wrdaddable\').css({\'font-size\' : \'14px\', \'font-weight\' : 700, \'padding\' : 5}).addClass(\'nuTabHolder\');\n$(\'#frwrd\').css({\'font-size\' : \'14px\', \'font-weight\' : 700, \'padding\' : 5}).addClass(\'nuTabHolder\');\n$(\'#nufr\').css({\'text-align\' : \'left\', \'height\' : 410, \'background-color\': \'#ebebeb\'});\n\n$(\'#list\').addClass(\'nuScroll\').removeClass(\'nuReadonly\');\n\n$(\'.nuActionButton\').hide();\nnuAddActionButton(\'nuRunPHPHidden\', \'Build Fast Report\', \'nuRunPHPHidden(\"RUNFR\", true)\');\n\n\nfunction nuAddReportField(t){\n\n var f = nuPad3($(\"[data-nu-label=\'Field Name\']\").length - 1);\n\n $(\'#fast_report_sf\' + f + \'field\').val($(t).html()).change();\n $(\'#fast_report_sf\' + f + \'width\').val(100).change();\n $(\'#fast_report_sf\' + f + \'sum\').val(\'no\').change();\n $(\'#fast_report_sf\' + f + \'title\').val($(t).html()).change().trigger( \"select\" );\n \n}\n\n\nfunction nuBeforeSave(){\n \n if($(\'#table\').val() === \'\'){\n \n nuMessage(nuTranslate(\'Validation Error\'), [\'<b>Table Data</b>\', nuTranslate(\'Cannot be left blank...\')])\n return false;\n \n }\n \n \n if($(\'#orderby\').val() === \'\'){\n \n nuMessage(nuTranslate(\'Validation Error\'), [\'<b>Order By</b>\', nuTranslate(\'Cannot be left blank...\')])\n return false;\n \n }\n \n nuBuildFastReport();\n \n return true;\n \n}\n\n\nfunction nuFRSetData() {\n\n if($(\'#fieldlist\').val() !== \'\'){\n \n var s = String($(\'#fieldlist\').val());\n var ds = s.replaceAll(\'[\',\'\').replaceAll(\']\',\'\').replaceAll(\'\\\\\',\'\').replaceAll(\'\"\',\'\');\n var fl = ds.split(\',\');\n var fu = [];\n \n $(\'#orderby\').find(\'option\').remove();\n \n for(var i = 0 ; i < fl.length ; i++){\n \n if(fl[i] != \'KEEP EXACT HEIGHT\'){\n \n fu[i] = \'<tr><td><div style=\"overflow:hidden;width:285px;text-align:left;padding:2px\" onclick=\"nuAddReportField(this);\" class=\"nuCalculatorButton nu_input\">\' + fl[i] + \'</div></td></tr>\';\n \n $(\'#orderby\').append(\'<option value=\"\' + fl[i] + \'\">\' + fl[i] + \'</option>\');\n \n }\n \n }\n \n $(\'#nufr\').html(\'<table>\' + fu.join(\'\') + \'</table>\');\n $(\'#orderby\').val(fl[0]);\n \n }\n\n}', NULL, NULL, NULL, NULL, NULL),
('nulaunchable', 'browse', 'nulaunchable', 'Launchable Forms', NULL, NULL, 'zzzzsys_form', 'zzzzsys_form_id', '', 0, 16, '0', NULL, 'SELECT * FROM zzzzsys_form\nWHERE sfo_type IN (\'edit\', \'browseedit\', \'launch\')\nAND (\n SUBSTRING(zzzzsys_form_id, 1, 2) != \'nu\'\n OR zzzzsys_form_id = \'nublank\'\n OR zzzzsys_form_id = \'nuuserhome\'\n )\nORDER BY sfo_code\n', '$(\'#sfo_breadcrumb_title\').addClass(\'sql\');\n$(\'#sfo_browse_sql\').addClass(\'sql\');\n$(\'#sfo_javascript\').addClass(\'js\');\n\nnuSetTitle($(\'#sfo_table\').val());\n\nnuACEInitDblClickHandlers();\n\nif(window.filter == \'justjs\'){\n \n $(\'#nuDeleteButton\').remove();\n $(\'#nuCloneButton\').remove();\n $(\'#nuTab0\').remove();\n $(\'#nuTab1\').remove();\n $(\'#nuTab2\').trigger( \"click\" );\n $(\'#nuTab2\').remove();\n \n nuSetTitle($(\'#sfo_description\').val());\n \n}\n\nfunction nuFormColor(){\n\n var t = String($(\'#sfo_type\').val());\n\n var pb = \'previewbrowse\';\n var pe = \'previewedit\';\n\n var bb = \'bb_event\';\n var be = \'be_event\';\n var bs = \'bs_event\';\n var as = \'as_event\';\n var bd = \'bd_event\';\n var ad = \'ad_event\';\n \n if(t == \'browse\'){\n nuDisable([pe, be, bs, as, bd, ad]);\n }\n \n if(t == \'edit\'){\n nuDisable([pb, bb]);\n }\n\n if(t == \'launch\'){\n nuDisable([pb, bb, as, as, bd, ad]);\n }\n \n if(t == \'subform\'){\n nuDisable([pb, bb, be, bs, as, bd, ad, \'sfo_javascript\']);\n }\n\n var h = $(\'#sfo_type\').addClass(\'nuEdited\');\n \n var o = [];\n o.browse = [0,1,2];\n o.edit = [0,2];\n o.browseedit = [0,1,2];\n o.launch = [0,2];\n o.subform = [0,1];\n \n $(\'#sfo_type\').removeClass();\n $(\'#sfo_type\').addClass(\'nu_\'+$(\'#sfo_type\').val());\n \n if(h){\n $(\'#sfo_type\').addClass(\'nuEdited\');\n }\n \n $(\"#sfo_type > option\").each(function() {\n $(this).addClass(\'nu_\'+this.value);\n });\n\n for(let i = 0 ; i < 7 ; i++){\n $(\'#nuTab\' + i).removeClass(\'nuRelatedTab\');\n }\n \n const oType = o[$(\'#sfo_type\').val()];\n\n if(oType !== undefined){\n \n for(let i = 0 ; i < t.length ; i++){\n $(\'#nuTab\' + oType[i]).addClass(\'nuRelatedTab\'); \n }\n \n }\n \n}\n\nnuFormColor();\n\n$(\"[data-nu-column=\'nucolumn000\']\").each(function() {\n $(this).addClass(\'nu_\'+this.textContent);\n});\n\nfunction nuEventList(){\n \n if($(\'sob_all_type\').val() == \'subform\'){\n return [\'onchange\',\'onadd\'];\n }else{\n return [\'onblur\',\'onchange\',\'onfocus\',\'onkeydown\'];\n }\n \n}\n\n\n', NULL, NULL, NULL, NULL, NULL),
('nulaunchdates', 'launch', 'nulaunchdates', 'Between 2 Dates', NULL, NULL, '', '', '', 0, 0, '0', NULL, '', '\nnuSetTitle(nuFORM.getCurrent().run_description);', NULL, NULL, NULL, NULL, NULL),
('nulaunchform', 'browse', 'nulaunchform', 'nuBuilder non-System Forms', NULL, NULL, 'zzzzsys_form', 'zzzzsys_form_id', '', 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_form\nWHERE sfo_type != \'subform\' AND zzzzsys_form_id != \'nuhome\'\nORDER BY sfo_code\n', '$(\"[data-nu-column=\'0\']\").each(function() {\n $(this).addClass(\'nu_\'+this.textContent);\n});\n\n$(\'#nuAddButton\').remove();\n$(\'#nuPrintButton\').remove();\n\n', NULL, NULL, NULL, NULL, NULL),
('nunonsystemform', 'browse', 'nunonsystemform', 'nuBuilder non-System Forms', NULL, NULL, 'zzzzsys_form', 'zzzzsys_form_id', '', 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_form\nWHERE ((zzzzsys_form_id NOT LIKE \'nu%\' AND sfo_type != \'subform\')\nOR zzzzsys_form_id IN (\'nuaccess\', \'nuuser\', \'nulaunchdates\', \'nutranslate\', \'nupassword\', \'nufile\', \'nuuserhome\', \'nublank\', \'nurunreport\'))\nORDER BY sfo_code', '$(\"[data-nu-column=\'0\']\").each(function() {\n $(this).addClass(\'nu_\'+this.textContent);\n});\n\n$(\'#nuAddButton\').remove();\n$(\'#nuPrintButton\').remove();\n\n', NULL, NULL, NULL, NULL, NULL),
('nunotes', 'browseedit', 'nunotes', 'Notes', NULL, '#not_title#|New', 'zzzzsys_note', 'zzzzsys_note_id', '', 0, 0, '0', NULL, 'SELECT\n zzzzsys_note.*, noc_name\nFROM\n zzzzsys_note\nLEFT JOIN zzzzsys_note_category ON not_zzzzsys_note_category_id = zzzzsys_note_category.zzzzsys_note_category_id\nORDER BY\n not_title ASC', NULL, NULL, 'nuHide(\'label_not_title\');\nnuSetPlaceholder(\'not_title\', nuTranslate(\'Title\'));\n\nnuHide(\'label_not_zzzzsys_note_category_id\');\nnuSetPlaceholder(\'not_zzzzsys_note_category_idcode\', nuTranslate(\'Category\'));\n\nfunction nuNotesHandleEnterKey() {\n\n $(\'.ql-editor\').trigger(\"focus\");\n\n let tinyB = tinyMCE.get(\'not_content_container\').getBody();\n if (tinyB !== null) tinyB.focus();\n\n\n}\n\n$(\'#not_title\').nuOnEnterKey(nuNotesHandleEnterKey, true);\n\n\nfunction nuTinyMCEOnInit(e, editor, id) {\n\n if (nuUseMobileView()) {\n $(function() {\n const maxWidth = $(\'#\' + id)?.attr(\'data-nu-mobile-max-width\')?.nuJustNumbers();\n const maxHeight = $(\'#\' + id)?.attr(\'data-nu-mobile-max-height\')?.nuJustNumbers();\n\n nuTinyMCESetBounds(\'not_content\', 5, 70, maxWidth, maxHeight);\n $(\'#not_updated_on\').css(\'top\', \'640px\');\n $(\'#label_not_updated_on\').css(\'top\', \'620px\');\n });\n }\n\n}', '', '1', NULL),
('nunotescategroy', 'browseedit', 'nunotescategory', 'Categories', NULL, '#noc_name#|New', 'zzzzsys_note_category', 'zzzzsys_note_category_id', '', 0, 15, '0', NULL, 'SELECT * FROM zzzzsys_note_category\nORDER BY noc_name', 'nuHide(\'nuPrintButton\');', 'if (nuIsIframe()) {\n var btn = nuAddActionButton(\'runCategories\', \'\', \'nuForm(\"\' + nuFormId() + \'\", \"\", \"\", \"\", 2);\');\n btn.attr(\'title\', nuTranslate(\'Edit Categories\'));\n nuAttachFontAwesome(btn.attr(\'id\'), \'fa-solid fa-list\');\n}', NULL, NULL, '1', NULL);
INSERT INTO `zzzzsys_form` (`zzzzsys_form_id`, `sfo_type`, `sfo_code`, `sfo_description`, `sfo_group`, `sfo_breadcrumb_title`, `sfo_table`, `sfo_primary_key`, `sfo_browse_redirect_form_id`, `sfo_browse_row_height`, `sfo_browse_rows_per_page`, `sfo_browse_title_multiline`, `sfo_browse_autoresize_columns`, `sfo_browse_sql`, `sfo_javascript`, `sfo_browse_javascript`, `sfo_edit_javascript`, `sfo_style`, `sfo_mobile_view`, `sfo_json`) VALUES
('nuobject', 'browseedit', 'nuobject', 'Objects', NULL, '#sob_all_id#|New', 'zzzzsys_object', 'zzzzsys_object_id', '', 0, 0, '1', NULL, 'SELECT * FROM zzzzsys_object\nJOIN #TABLE_ID# ON zzzzsys_object_id = theid\nJOIN zzzzsys_tab ON zzzzsys_tab_id = sob_all_zzzzsys_tab_id\nJOIN zzzzsys_form ON zzzzsys_form_id = syt_zzzzsys_form_id \n\nWHERE (\n (sob_all_type = \'#nuBrowseTitle0_select#\' OR \'#nuBrowseTitle0_select#\' = \'\' OR \'#nuBrowseTitle0_select#\' LIKE \'#%\' )\n AND\n (sob_input_type = \'#nuBrowseTitle1_select#\' OR \'#nuBrowseTitle1_select#\' = \'\' OR \'#nuBrowseTitle1_select#\' LIKE \'#%\' )\n)\n\nORDER BY sfo_description, sob_input_type, sob_all_id', NULL, 'var a = [[\"\",\"\"],[\"calc\",\"Calc\"],[\"display\",\"Display\"],[\"contentbox\",\"ContentBox\"],[\"editor\",\"WYSIWYG Editor\"],[\"html\",\"HTML\"],[\"image\",\"Image\"],[\"input\",\"Input\"],[\"lookup\",\"Lookup\"],[\"run\",\"Run\"],[\"select\",\"Select\"],[\"subform\",\"Subform\"],[\"textarea\",\"Textarea\"],[\"word\",\"Word\"]];\nnuAddBrowseTitleSelect(0, a);\n\n$(\'#nuBrowseTitle9_select\').parent().off(\"touchstart\");\n\na = [[\"\",\"\"],[\"nuDate\",\"nuDate\"],[\"nuNumber\",\"nuNumber\"],[\"nuScroll\",\"nuScroll\"],[\"nuAutoNumber\",\"nuAutoNumber\"],[\"button\",\"Button\"],\n [\"checkbox\",\"Checkbox\"],[\"color\",\"Color\"],[\"datetime-local\",\"Datetime-Local\"],[\"email\",\"Email\"],[\"file\",\"File\"],\n [\"image\",\"Image\"],[\"month\",\"Month\"],[\"number\",\"Number\"],[\"password\",\"Password\"],[\"radio\",\"Radio\"],[\"range\",\"Range\"],\n [\"reset\",\"Reset\"],[\"search\",\"Search\"],[\"tel\",\"Telephone\"],[\"text\",\"Text\"],[\"time\",\"Time\"],[\"url\",\"URL\"],[\"week\",\"Week\"]];\n\nnuAddBrowseTitleSelect(1, a);\n$(\'#nuBrowseTitle1_select\').parent().off(\"touchstart\");\n\n$(\"[data-nu-column=\'0\']\").each(function() {\n $(this).addClass(\'nu_\' + this.textContent).addClass(\'nuCellColored\');\n});\n\n\n$(\"[data-nu-column=\'4\']\").each(function() {\n $(this).html(stripHTMLTags($(this).html()).replace(/ /g, \' \').trim());\n});\n\n\nfunction stripHTMLTags(s) {\n return s == \'\' ? \'\' : s.replace(/<\\/?[^>]+(>|$)/g, \"\");\n}\n', 'if (! nuDevMode()) {\n nuHideTabById(\'nu61e9964c9bf5e13\'); // JSON\n}\n\n// Code Snippets form\nnuSetSnippetFormFilter(0, 0, 1, 0); // SQL\n\nnuHide(\'sob_code_snippet_display_lookupcode\');\nnuHide(\'sob_code_snippet_select_lookupcode\');\nnuHide(\'label_zzzzsys_event_sf\');\nnuHide(\'label_sob_html_code\');\nnuShow(\'sob_run_zzzzsys_form_open_button\', sob_run_zzzzsys_form_id.value !== \'\');\nnuShow(\'sob_lookup_zzzzsys_form_open_button\', sob_lookup_zzzzsys_form_id.value !== \'\');\nnuObjectDisplayInputIcon();\nnuObjectDisplayAccessCondition();\nnuObjectProcedureChanged();\n\nnuDisable(\'sob_calc_formula\');\nnuSetToolTip(\'sob_all_id_create_button\', nuTranslate(\'Add database column\'));\n\nwindow.parentTabs = parent.$(\'.nuTab\');\n\n\nvar tabIdDescLeft = $(\'#sob_all_zzzzsys_tab_iddescription\').nuCSSNumber(\'left\') + 11;\n$(\'#sob_all_zzzzsys_tab_iddescription\').css(\'left\', tabIdDescLeft + \'px\');\n\n$(\'#zzzzsys_event_sfsev_javascript\').attr(\'id\', \'jsfuntitle\');\n$(\'#sob_calc_formula\').addClass(\'nuCalculatorCurrency\').css(\'font-size\', \'12px\');\n$(\'#sob_all_display_condition\').addClass(\'sql\');\n$(\'#sob_all_default_value_sql\').addClass(\'sql\');\n$(\'#sob_display_sql\').addClass(\'sql\');\n$(\'#sob_input_datalist\').addClass(\'sql\');\n$(\'#sob_select_sql\').addClass(\'sql\');\n$(\'#sob_lookup_javascript\').addClass(\'js\');\n$(\'#sob_input_javascript\').addClass(\'js\');\n$(\'#sob_html_javascript\').addClass(\'js\');\n$(\'#sob_lookup_php\').addClass(\'php\');\n$(\'#sob_html_code\').addClass(\'html\');\n$(\'#sob_all_style\').addClass(\'css\');\n$(\'#sob_input_attribute\').addClass(\'css\');\n$(\"[id$=\'sev_javascript\']\").addClass(\'js\');\n$(\"#title_zzzzsys_event_sfsev_javascript\").removeClass(\'js\');\n$(\'#sob_run_zzzzsys_form_open_button\').toggleClass(\'input_button nuButton nuLookupButton\');\n$(\'#sob_lookup_zzzzsys_form_open_button\').toggleClass(\'input_button nuButton nuLookupButton\');\n$(\'#sob_subform_zzzzsys_form_open_button\').toggleClass(\'input_button nuButton nuLookupButton\');\n$(\'#sob_all_type_open_button\').toggleClass(\'input_button nuButton nuLookupButton\');\n\nnuObjectPreviewIcon(\'sob_input_icon_preview_html\', nuGetValue(\'sob_input_icon\'));\n\n\nvar placeholderText = `1. SQL: A valid SQL query that returns 2 columns:\nSELECT table_id, description FROM table\n\nOr:\n\n2. List: A list delimited by a |:\n1|First|\n2|Second|\n3|Third\n\nOr:\n\n3. JSON/Array: if both the display and the bound value are identical:\n\n[\"value1\", \"value1\", \"value1\"]\n`;\n\n$(\'#sob_select_sql\').on(\'focus\', function() {\n $(this).prop(\'placeholder\', placeholderText);\n}).on(\'blur\', function() {\n $(this).prop(\'placeholder\', \'\');\n});\n\n$(\'#nuTab8\').on(\'click\', function() {\n nuObjectTestChart();\n});\n\nnuAttachButtonImage(\'icon_lujs\', \'LUJS\');\nnuAttachButtonImage(\'icon_html\', \'HTML\');\nnuAttachButtonImage(\'ab_event\', \'AB\', \'nuButtonImageSmall\');\n// nuAttachButtonImage(\'di_sql\', \'SQL\',\'nuButtonImageSmall\');\n// nuAttachButtonImage(\'se_sql\', \'SQL\',\'nuButtonImageSmall\');\n\n$(\'#viewflowchart\')\n.css(\'padding\', \'46px 0px 0px 3px\')\n.css(\'text-align\', \'left\')\n.css(\'background-size\', \'75px\');\n\n\nif ($(\'#zzzzsys_event_sf000sev_event\').val() !== \'\') {\n $(\'#nuTab10\').css(\'font-weight\', \'bold\');\n}\n\nnuObjectInputTypeChanged(nuGetValue(\'sob_input_type\'));\nnuObjectHideCalcObjects();\nnuObjectPopulateHTML();\nnuObjectAddDataListToRunId();\n\n$(\"button[id*=\'_btn_\']\").addClass(\'nuQuickButton\').removeClass(\'input_button nuButton\');\n\nvar filter = String(window.filter).split(\'|\');\n\nif (filter[0] == \'fromfastform\') {\n\n $(\'#nuDeleteButton\').remove();\n $(\'#nuCloneButton\').remove();\n $(\'#nuSaveButton\').remove();\n $(\'#sob_all_id\').val(filter[1]).addClass(\'nuHighlight\');\n $(\'#sob_all_label\').val(filter[2]).addClass(\'nuHighlight\');\n\n}\n\nnuACEInitDblClickHandlers();\n\nnuHide(\'sob_input_format\');\nvar sit = nuGetValue(\'sob_input_type\');\nnuShow(\'sob_input_format\', sit == \'nuDate\' || sit == \'nuNumber\');\nnuShow(\'sob_input_javascript\', sit == \'nuScroll\');\n\nnuObjectColor();\nnuGetStartingTab();\n\n\nif (!nuIsNewRecord()) {\n\n nuObjectMaximiseParentifDragOptionsBox();\n nuObjectDisplayIncHeightButtons();\n nuObjectShowDataType();\n\n} else {\n\n nuSetValue(\'sob_all_top\', 0);\n nuSetValue(\'sob_all_left\', 60);\n nuSetValue(\'sob_all_height\', 22);\n nuSetValue(\'sob_all_width\', 100);\n nuSetValue(\'sob_all_validate\', 0);\n nuSetValue(\'sob_all_access\', 0);\n nuSetValue(\'sob_all_align\', \'left\');\n nuSetValue(\'sob_all_cloneable\', \'1\');\n\n nuHide(\'sob_all_type_open_button\');\n nuHide(\'sob_all_type_input\');\n nuHide(\'sob_all_id_create_button\');\n\n if (nuIsIframe()) {\n let pTab = nuSelectedTabId(parent);\n if (pTab !== null) {\n nuGetLookupId(pTab, \'sob_all_zzzzsys_tab_id\', false);\n } else {\n if (nuGetValue(\'sob_all_zzzzsys_tab_id\') === \'\' && parent.nuCurrentProperties().form_code == \'nuuserhome\') {\n nuGetLookupId(\'nufastforms\', \'sob_all_zzzzsys_tab_id\', false);\n }\n }\n $(\'#sob_all_label\').trigger(\"focus\");\n nuSetValue(\'sob_all_type\', \'input\');\n nuSetValue(\'sob_input_type\', \'text\');\n }\n\n}\n\nnuObjectUpdateLookupDescriptionDatalist();\nnuObjectUpdateIdDatalist();\nnuObjectRunMethodChanged();\nnuHasNotBeenEdited();\n\n\nfunction nuObjectMaximiseParentifDragOptionsBox() {\n\n let db = parent.parent.$(\'.nuDragOptionsBox\');\n if (db.length === 0) return;\n\n let dd = db.parent(); // nuDragDialog\n let l = parseInt(dd.css(\'left\'), 10);\n\n if (l == 2) return; // already maximised\n\n let dt = db.nextAll(\'.nuDialogTitle\').find(\'#dialogTitleWords\');\n if (dt.length !== 0) {\n var e = {\n target: {\n id: \"dialogTitleWords\"\n }}\n parent.parent.nuResizeWindow(e);\n }\n\n}\n\nfunction nuObjectColumnDataType(table, id) {\n\n let s = nuFORM.tableSchema[table];\n let i = -1;\n if (typeof s !== \"undefined\") {\n i = s.names.indexOf(id.val());\n }\n\n return i > -1 ? s.types[i]: \'\';\n\n}\n\nfunction nuObjectShowDataType() {\n\n let id = $(\'#sob_all_id\');\n let iDataType = $(\'#sob_all_id_datatype\');\n\n let table = nuGetValue(\"sob_all_table\");\n let dataType = \'\';\n\n if (table !== \'\' && id.val() !== \'\') {\n dataType = nuObjectColumnDataType(table, id);\n\n }\n\n iDataType.val(dataType);\n nuObjectDisplayCreateButton();\n\n}\n\nfunction nuObjectObjectNoId() {\n return [\'word\',\n \'html\',\n \'button\',\n \'run\',\n \'subform\',\n \'contentbox\'].indexOf(nuGetValue(\'sob_all_type\')) !== -1;\n}\n\nfunction nuObjectDisplayCreateButton() {\n\n let dataType = nuObjectColumnDataType(nuGetValue(\"sob_all_table\"), $(\'#sob_all_id\'));\n nuShow(\'sob_all_id_create_button\', dataType === \'\' && nuGetValue(\'sob_all_id\') !== \'\' && nuGetValue(\'sob_all_table\') !== \'\' && !nuObjectObjectNoId());\n\n}\n\nfunction nuObjectDisplayIncHeightButtons() {\n\n var showButtons = [\'html\',\n \'textarea\',\n \'subform\',\n \'image\',\n \'contentbox\'].indexOf(nuGetValue(\'sob_all_type\')) !== -1;\n\n $(\'[id^=sob_height_btn_set]\').nuShow(showButtons);\n}\n\n\nfunction nuObjectTestChart() {\n\n let g = nuGetValue(\'sob_html_chart_type\');\n\n if (g === \'\' || nuGetValue(\'sob_all_type\') !== \'html\') {\n $(\'#google_chart\').html(\'\');\n return;\n }\n\n let c = \'ComboChart\';\n let t = nuGetValue(\'sob_html_title\');\n let x = nuGetValue(\'sob_html_vertical_label\');\n let y = nuGetValue(\'sob_html_horizontal_label\');\n let l = \'bars\';\n let s = false;\n\n let a = [\n [\'Month\',\n \'Shane\',\n \'Dave\',\n \'Adam\',\n \'Paul\',\n \'Chris\'],\n [\'2019\',\n 100,\n 200,\n 300,\n 400,\n 500],\n [\'2020\',\n 165,\n 238,\n 322,\n 498,\n 550],\n [\'2021\',\n 165,\n 938,\n 522,\n 998,\n 450],\n [\'2022\',\n 135,\n 1120,\n 599,\n 1268,\n 288]\n ];\n\n if (g == \'p\') c = \'PieChart\';\n if (g == \'l\') l = \'lines\';\n if (g == \'bh\') c = \'BarChart\';\n if (g == \'bhs\') c = \'BarChart\';\n if (g == \'bs\') s = true;\n if (g == \'bhs\') s = true;\n\n nuChart(\'google_chart\', c, a, t, x, y, l, s);\n\n}\n\nfunction nuObjectChartOnReady(i, wrapper) {\n // let wrapper = window[\"google_chart_wrapper\"];\n var options = {\n seriesType: wrapper.m.seriesType,\n chartArea: {\n left: \"10%\",\n width: \"65%\"\n }\n };\n wrapper.setOptions(options);\n wrapper.draw();\n}\n\nfunction nuObjectAddDataListToRunId() {\n\n let arrRecordId = [\n [\" \",\n nuTranslate(\"Leave blank to open a Browse or Launch Form\")],\n [\"-1\",\n nuTranslate(\"Open a new Record\")],\n [\"#EXAMPLE_HASH_COOKIE#\",\n nuTranslate(\"Use a Hash Cookie\")]\n ];\n\n nuAddDatalist(\'sob_run_id\', arrRecordId);\n\n $(\'#sob_run_id\').on(\'input\', function() {\n if ($(this).val() == \' \') {\n $(this).val(\'\').change();\n }\n\n });\n\n}\n\nfunction nuObjectColor() {\n\n $(\'.nuValidate\').removeClass(\'nuValidate\');\n\n let e = $(\'#sob_all_type\').hasClass(\'nuEdited\');\n let o = [];\n\n o.run = 1;\n o.display = 2;\n o.select = 3;\n o.lookup = 4;\n o.subform = 5;\n o.image = 6;\n o.input = 7;\n o.html = 8;\n o.calc = 9;\n\n $(\'#sob_all_type\').removeClass();\n\n if (e) {\n //-- keep class if edited\n $(\'#sob_all_type\').addClass(\'nuEdited\');\n }\n\n $(\'#sob_all_type\').addClass(\'nu_\'+$(\'#sob_all_type\').val());\n\n $(\"#sob_all_type > option\").each(function() {\n $(this).addClass(\'nu_\'+this.value);\n });\n\n let t = o[$(\'#sob_all_type\').val()];\n\n $(\"[id^=\'nuTab\']\").removeClass(\'nuRelatedTab\');\n\n for (let i = 1; i < o.length; i++) {\n $(\'#nuTab\' + i).removeClass(\'nuRelatedTab\');\n }\n\n $(\'#nuTab0\').addClass(\'nuRelatedTab\');\n $(\'#nuTab\' + t).addClass(\'nuRelatedTab\');\n\n}\n\n\nfunction nuObjectDisplayAllTypeInput() {\n\n let v = nuGetValue(\'sob_input_type\', \'text\');\n v = nuGetValue(\'sob_all_type\') == \'input\' ? v: \'\';\n $(\'#sob_all_type_input\').val(v);\n\n}\n\nfunction nuObjectTypeChanged() {\n\n nuShow(\'sob_all_type_open_button\', sob_all_type.value !== \'\');\n nuShow(\'sob_all_type_input\', sob_all_type.value !== \'\');\n\n nuObjectColor();\n nuObjectDisplayCreateButton();\n nuObjectDisplayIncHeightButtons();\n nuObjectDisplayAllTypeInput();\n nuObjectDisplayInputIcon();\n\n}\n\nfunction nuObjectInputTypeChanged(t) {\n\n nuHide(\'sob_input_format\');\n nuHide(\'sob_input_count\');\n nuHide(\'sob_input_javascript\');\n nuHide(\'sob_input_datalist\');\n nuHide(\'sob_input_file_target\');\n\n\n if (t == \'nuScroll\') {\n nuShow(\'sob_input_javascript\');\n }\n\n if (t == \'file\') {\n nuShow(\'sob_input_file_target\');\n\n if (nuGetValue(\'sob_input_file_target\') == \'\') {\n nuSetValue(\'sob_input_file_target\', \'0\');\n }\n\n nuObjectFileUploadScript();\n }\n\n if (t == \'nuAutoNumber\') {\n\n nuShow(\'sob_input_count\');\n $(\'#sob_input_javascript\').val(\'\').addClass(\'nuEdited\');\n\n }\n\n if (t == \'nuDate\' || t == \'nuNumber\' || t == \'number\' || t == \'text\' || t == \'email\' || t == \'search\' || t == \'month\') {\n nuShow(\'sob_input_datalist\');\n if ($(\'#sob_input_datalist\').val() == \'\' && $(\'#sob_all_id_datatype\').val() !== \'\') {\n // $(\'#sob_input_datalist\').val(\"SELECT DISTINCT `\" + $(\"#sob_all_id\").val() + \"` FROM `\" + $(\'#sob_all_table\').val() + \"` ORDER BY 1\").change();\n }\n }\n\n if (t == \'nuDate\' || t == \'nuNumber\') {\n\n nuShow(\'sob_input_format\');\n\n $(\'#sob_input_format\').children().each(function(index) {\n\n $(this).show();\n\n if ($(this).val()[0] == \'D\' && t != \'nuDate\') {\n $(this).hide();\n }\n if ($(this).val()[0] == \'N\' && t != \'nuNumber\') {\n $(this).hide();\n }\n\n });\n\n }\n\n nuObjectDisplayInputIcon();\n nuObjectDisplayAllTypeInput();\n\n}\n\n\nfunction nuObjectDisplayInputIcon() {\n nuShow(\'sob_input_icon\',\n sob_input_type.value == \'button\' || sob_all_type.value == \'run\' || sob_all_type.value == \'word\');\n}\n\nfunction nuObjectDisplayAccessCondition() {\n nuShow(\'sob_all_access_condition\',\n sob_all_access.value == \'9\');\n $(\'[nu-access-button]\').nuShow(sob_all_access.value != \'9\');\n}\n\nfunction nuObjectHideCalcObjects() {\n\n var f = $(\'#sob_all_zzzzsys_form_id\').val();\n\n $(\'#add_total\').children().each(function(index) {\n\n\n if ($(this).val() != f) {\n $(this).hide();\n }\n if ($(this).text() == $(\'#sob_all_id\').val()) {\n $(this).hide();\n }\n\n });\n\n}\n\nfunction nuObjectInsertOrAppendToCalcFormula(oldValue, newValue) {\n\n const manualMode = nuGetValue(\'sob_calc_formula_edit_mode_checkbox\');\n if (manualMode) {\n nuInsertAtCaret(\'sob_calc_formula\', newValue);\n } else {\n nuSetValue(\'sob_calc_formula\', oldValue + newValue);\n }\n\n}\n\nfunction nuObjectAddCalcObject(t) {\n\n const i = $(t).attr(\'data-nu-ids\');\n const oldValue = $(\'#sob_calc_formula\').val();\n const newValue = \"nuTotal(\'\" + i + \"\')\";\n\n if (i == \'\') {\n return;\n }\n\n $(\'#sob_calc_formula\').addClass(\'nuEdited\')\n\n nuObjectInsertOrAppendToCalcFormula(oldValue, newValue);\n\n $(\'#add_total\').val(\'\');\n\n nuHasBeenEdited();\n\n}\n\n\nfunction nuObjectAddToFormula(e) {\n\n const newValue = e.target.innerHTML;\n const oldValue = $(\'#sob_calc_formula\').val();\n\n if (newValue == \'Clear\') {\n\n $(\'#sob_calc_formula\')\n .val(\'\')\n .addClass(\'nuEdited\');\n return;\n\n }\n\n $(\'#sob_calc_formula\').addClass(\'nuEdited\')\n\n nuObjectInsertOrAppendToCalcFormula(oldValue, newValue);\n\n nuHasBeenEdited();\n\n}\n\n\n\nfunction nuObjectPopulateHTML() {\n\n var o = nuCalcObjects();\n var a = [];\n\n for (var i = 0; i < o.length; i++) {\n\n var ids = String(o[i].ids);\n var ty = o[i].type;\n var id = String(o[i].ids).split(\'.\');\n var sp = \' \';\n\n if (id.length == 1) {\n a.push(\'<tr><td><div title=\"\' + ty + \'\" style=\"overflow:hidden;width:305px;text-align:left;padding:2px\" onclick=\"nuObjectAddCalcObject(this);\" class=\"nuCalculatorButton nu_\' + o[i].type + \'\" data-nu-ids=\"\' + ids + \'\">\' + ids + \'</div></td></tr>\');\n } else {\n\n var h = \'<span title=\"subform\" class=\"nu_subform\">\' + id[0] + \'</span>.<span title=\"\' + ty + \'\" class=\"nu_input\" style=\"padding:7px 5px 7px 5px\">\' + id[1] + sp.repeat(200) + \'</span>\';\n a.push(\'<tr><td><div style=\"overflow:hidden;width:305px;text-align:left;padding:2px;height:28px\" onclick=\"nuObjectAddCalcObject(this);\" class=\"nuCalculatorButton nu_subform\" data-nu-ids=\"\' + ids + \'\">\' + h + \'</div></td></tr>\');\n\n }\n\n }\n\n $(\'#add_total\').html(\'<table>\' + a.join(\'\') + \'</table>\');\n\n}\n\n\nfunction nuObjectSetSelectIndex(i, index) {\n\n $(\"#\" + i).prop(\"selectedIndex\", index).change();\n\n}\n\nfunction nuObjectSetLookupWidth() {\n var w = $(\'#sob_lookup_description\').val() == $(\'#sob_lookup_code\').val() ? 0: 150;\n var cw = $(\'#sob_lookup_description_width\').val();\n if (cw == 0 || cw == 150 || w == 0) $(\'#sob_lookup_description_width\').val(w).change();\n}\n\n\nfunction nuObjectSubFormRowsCount(subform, fieldname) {\n\n var sf = nuSubformObject(subform);\n var col = sf.fields.indexOf(fieldname);\n var c = 0;\n for (var row = 0; row < sf.rows.length; row++) {\n if (sf.deleted[row] == 0 && sf.rows[row][col].trim() != \'\') c++;\n }\n\n return c;\n\n}\n\nfunction nuObjecEnsureAutoNumberEndsWithNumber(str) {\n if (str !== \'\') {\n nuSetValue(\'sob_input_count\', /\\d$/.test(str) ? str: \'1\');\n }\n}\n\nfunction nuBeforeSave() {\n\n nuObjectRunMethodChanged();\n nuObjectAdjustProperties();\n\n nuObjecEnsureAutoNumberEndsWithNumber(sob_input_count.value);\n\n if ($(\'#sob_all_type\').val() == \'select\') {\n $(\'#sob_select_multiple\').addClass(\'nuEdited\');\n }\n\n $(\"#sob_all_event\").prop(\'checked\', nuObjectSubFormRowsCount(\'zzzzsys_event_sf\', \'sev_event\') > 0).trigger(\'change\');\n\n}\n\nfunction nuObjectAdjustProperties() {\n\n let type = nuGetValue(\'sob_all_type\');\n let access = nuGetValue(\'sob_all_access\');\n let validation = nuGetValue(\'sob_all_validate\');\n let inputType = nuGetValue(\'sob_input_type\');\n let inputFormat = nuGetValue(\'sob_input_format\');\n\n if (type !== \'input\') {\n if (inputType !== \'\') nuSetValue(\'sob_input_type\', \'\');\n if (inputFormat !== \'\') nuSetValue(\'sob_input_format\', \'\');\n }\n\n if (type.containsAny([\'word\', \'html\', \'image\', \'contentbox\', \'contentbox\'])) {\n if (validation !== \'0\') nuSetValue(\'sob_all_validate\', \'0\'); // validation --> none\n if (access == \'1\') nuSetValue(\'sob_all_access\', \'0\'); // readonly --> editable\n }\n\n if (type === \'word\') {\n if (access == \'1\') nuSetValue(\'sob_all_access\', \'0\'); // readonly --> editable\n if (validation !== \'0\') nuSetValue(\'sob_all_validate\', \'0\'); // validation --> none\n nuSetValue(\'sob_input_type\', \'\');\n nuSetValue(\'sob_input_format\', \'\');\n }\n\n if (type === \'display\') {\n if (access == \'1\') nuSetValue(\'sob_all_access\', \'0\'); // readonly --> editable\n }\n\n}\n\nfunction nuObjectRunMethodChanged() {\n\n var m = nuGetValue(\'sob_run_method\');\n nuEnable(\'sob_run_target\', m == \'b\');\n\n if ($(\'#sob_run_target\').prop(\"selectedIndex\") > 0 && m == \'b\') {\n return;\n }\n\n if (m == \'b\' || m == \'i\') {\n $(\'#sob_run_target\').prop(\"selectedIndex\", m == \'b\' ? 1: 0).change();\n }\n\n}\n\nfunction nuOnClone() {\n nuHide(\'sob_all_id_create_button\');\n}\n\nfunction nuObjectUpdateIdDatalist() {\n var t = nuFORM.tableSchema[nuGetValue(\"sob_all_table\")];\n nuAddDatalist(\'sob_all_id\', typeof t !== \"undefined\" ? t.names: []);\n}\n\nfunction nuObjectUpdateLookupDescriptionDatalist() {\n let arr = nuFORM.tableSchema[nuGetValue(\"sob_lookup_table\")]?nuFORM.tableSchema[nuGetValue(\"sob_lookup_table\")].names: [];\n nuAddDatalist(\'sob_lookup_description\', arr);\n}\n\nfunction nuObjectSetJSON() {\n\n const data = {\n\n \"type\": {\n\n \"version\": \"1.0\",\n \"mobile\": {\n \"version\": \"1.0\",\n \"name\": \"test1\",\n \"visible\": true,\n \"location\": {\n \"top\": sob_all_top.value,\n \"left\": sob_all_left.value\n },\n \"size\": {\n \"width\": sob_all_width.value,\n \"height\": sob_all_height.value\n },\n \"class\": [\"nuMobileInput\"]\n }\n }\n\n }\n\n\n var obj = JSON.stringify(data);\n nuSetValue(\'sob_all_json\', obj);\n\n}\n\n\nfunction nuObjectPreviewIcon(i, s) {\n\n s = nuEscapeHTML(s);\n\n let $i = $(\'#\'+i);\n\n $i.html(\'\');\n\n if (s.startsWith(\'fas \') || s.startsWith(\'fa \') || s.startsWith(\'far \') || s.startsWith(\'fa-\')) {\n $i.append(\'<i class=\"\' + s + \' fa-2x\' + \'\"></i>\');\n } else if (s.startsWith(\'<i class=\"fa\')) {\n let i = s.indexOf(\'>\', 10);\n $i.append(s.nuInsertString(i-1, \' fa-2x\'));\n\n } else {\n $i.append(s);\n }\n\n}\n\n\nfunction nuObjectFileUploadScript() {\n\n let htmlCode = $(\'#sob_html_code\');\n\n if (nuGetValue(\'sob_input_file_target\') == \'0\' && ! htmlCode.val().includes(\'Uppy\')) {\n\n const uppyScript = `\n <div id=\"#uppy_div#\"></div>\n\n <script>\n\n nuInitUppy();\n\n function nuInitUppy() {\n\n const $objId = $(\'#\' + \'#this_object_id#\');\n const target = \'#\' + \'#uppy_div#\';\n\n let uppy = nuUppyCreate();\n\n uppy.use(Uppy.Dashboard, {\n inline: true,\n bundle: true,\n height: $objId.nuCSSNumber(\'height\'),\n width: $objId.nuCSSNumber(\'width\'),\n target: target,\n showProgressDetails: true,\n replaceTargetContent: true,\n method: \'post\'\n })\n .use(Uppy.XHRUpload, {\n endpoint: \'core/nuapi.php\'\n })\n\n uppy.on(\'upload\', (file) => {\n uppy.setMeta({\n procedure: \'NUUPLOADFILE_TEMPLATE\',\n session_id: window.nuSESSION\n })\n });\n\n uppy.on(\'complete\', (result) => {\n\n if (window.nuOnFileUploadComplete) {\n nuOnFileUploadComplete(\'FS\', $objId.attr(\'id\'), result);\n }\n\n })\n\n }\n\n </script>\n `;\n\n nuSetValue(\'sob_html_code\', htmlCode.val() + uppyScript.trim());\n\n if (sob_all_height.value < 30) nuSetValue(\'sob_all_height\', \'250\');\n\n }\n\n\n\n}\n\n\n// Pick Tabs\n\nfunction nuObjectOpenMenu(event, menu, element) {\n event.stopPropagation();\n ctxmenu.show(menu, element);\n}\n\n\nfunction nuObjectSetTabId(tabTitle) {\n\n const tab = parent.$(\'.nuTab\').filter(function() {\n return $(this).html() == tabTitle;\n });\n\n if (tab.length == 1) {\n nuGetLookupId(tab.attr(\'data-nu-tab-id\'), \'sob_all_zzzzsys_tab_id\', true, true);\n\n }\n\n}\n\nfunction nuObjectMenuPickTabsClick(element, event) {\n\n if (!nuIsIframe()) {\n return;\n }\n\n var items = [];\n\n const item = {\n text: nuTranslate(\'Tabs\')\n };\n\n items.push(item);\n\n window.parentTabs.each(function() {\n var item =\n {\n text: nuContextMenuItemText(this.innerHTML, \"fa-regular fa-square\"),\n action: () => nuObjectSetTabId(this.innerHTML)\n }\n\n items.push(item);\n });\n\n nuObjectOpenMenu(event, items, element);\n\n}\n\nfunction nuObjectProcedureChanged() {\n const hasDisplayProcedure = sob_display_procedure.value === \'\';\n nuEnable(\'sob_display_sql\', hasDisplayProcedure);\n $(\'#sob_display_sql\').toggleClass(\'display-sql-strikethrough\', !hasDisplayProcedure);\n}\n\n$(\"#sob_display_procedurecode\").on(\"change\", function(event) {\n nuObjectProcedureChanged();\n});\n\n\n$(\'#sob_all_zzzzsys_tab_idbutton\').on(\'contextmenu\', function(e) {\n e.preventDefault();\n nuObjectMenuPickTabsClick(this, event);\n});\n\nfunction nuOnMobileViewComplete() { \n \n const elements = [\n { input: \'#sob_input_file_target\', label: \'#label_sob_input_file_target\' },\n { input: \'#sob_input_count\', label: \'#label_sob_input_count\' },\n { input: \'#sob_input_javascript\', label: \'#label_sob_input_javascript\' },\n { input: \'#sob_input_datalist\', label: \'#label_sob_input_datalist\', offsety: 80 }\n ];\n\n const inputAnchorTop = $(\'#sob_input_format\').nuCSSNumber(\'top\');\n const inputAnchorTopLabel = $(\'#label_sob_input_format\').nuCSSNumber(\'top\');\n\n elements.forEach(({ input, label, offsety = 0 }) => {\n\n $(input).css(\'top\', inputAnchorTop + offsety);\n $(label).css(\'top\', inputAnchorTopLabel + offsety);\n\n });\n \n}\n', ' .display-sql-strikethrough {\n text-decoration: line-through;\n color: #cdc7c7!important;\n }', '1', NULL),
('nuobjectgrid', 'browseedit', 'nuobjectgrid', 'nuBuilder Form', NULL, NULL, 'zzzzsys_form', 'zzzzsys_form_id', '', 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_form\nINNER JOIN #TABLE_ID# ON zzzzsys_form_id = theid\nORDER BY sfo_code\n', 'function colorObjectTypes() {\n\n // Color Types\n $(\'select[id$=sob_all_type]\').find(\'option\').each(function(index,element){\n $(element).addClass(\'nu_\' + element.value);\n });\n \n $(\'select[id$=sob_all_type]\').each(function(index,element){\n \n $(element).removeClass();\n $(element).addClass(\'nu_\' + element.value);\n });\n\n}\n\nfunction afterinsertrowObjects() {\n colorObjectTypes();\n}\n\nfunction nuSortSubform(s, c, e){\n}\n\nif (nuFormType() == \'edit\') {\n\n\n const OPTION_ALL = \'(\' + nuTranslate(\'All\') + \')\';\n \n var sfFilter = {};\n sfFilter.objform = {\n \'sob_all_zzzzsys_tab_id\': {type: \'select\', blank: false, all: OPTION_ALL},\n \'sob_all_id\': {type: \'search\', placeholder: nuTranslate(\'Search\')},\n \'sob_all_type\': {type: \'select\', blank: false, all: OPTION_ALL},\n \'sob_all_label\': {type: \'search\', placeholder: nuTranslate(\'Search\')}\n };\n \n nuSubformAddFilter(sfFilter);\n\n $(\'#nuCloneButton\').remove();\n $(\'#nuDeleteButton\').remove();\n\n colorObjectTypes();\n\n $(\'#title_objformbtnOpenDetails\').html(nuTranslate(\'Details\'));\n\n if (nuIsNewRecord()) {\n nuSetTitle(nuTranslate(\'New\'));\n } else {\n var frmInfo = $(\'#sfo_description\').val() + \' (\'+ $(\'#sfo_code\').val()+\')\';\n // if (window.nuFORM.breadcrumbs.length == 1) $(\'#nuTab0\').html(frmInfo);\n nuSetTitle(frmInfo);\n nuUpdateAclCount();\n }\n}\n\nfunction nuFormColor() {\n\n var t = String($(\'#sfo_type\').val());\n\n var pb = \'previewbrowse\';\n var pe = \'previewedit\';\n\n var bb = \'bb_event\';\n var be = \'be_event\';\n var bs = \'bs_event\';\n var as = \'as_event\';\n var bd = \'bd_event\';\n var ad = \'ad_event\';\n\n if (t == \'browse\') {\n nuDisable([pe, be, bs, as, bd, ad]);\n } else\n if (t == \'edit\') {\n nuDisable([pb, pb]);\n } else\n if (t == \'launch\') {\n nuDisable([pb, bb, bs, as, bd, ad]);\n } else\n if (t == \'subform\') {\n nuDisable([pb, bb, be, bs, as, bd, ad]);\n nuDisable(\'sfo_javascript\');\n }\n\n var h = $(\'#sfo_type\').addClass(\'nuEdited\');\n var o = [];\n o.browse = [0, 1, 2];\n o.edit = [0, 2];\n o.browseedit = [0, 1, 2];\n o.launch = [0, 2];\n o.subform = [0, 1];\n\n $(\'#sfo_type\').removeClass();\n $(\'#sfo_type\').addClass(\'nu_\' + $(\'#sfo_type\').val());\n\n if (h) {\n $(\'#sfo_type\').addClass(\'nuEdited\');\n }\n\n $(\"#sfo_type > option\").each(function() {\n $(this).addClass(\'nu_\' + this.value);\n });\n\n for (var i = 0; i < 7; i++) {\n $(\'#nuTab\' + i).removeClass(\'nuRelatedTab\');\n }\n\n t = o[$(\'#sfo_type\').val()];\n if (t !== undefined) {\n\n for (i = 0; i < t.length; i++) {\n $(\'#nuTab\' + t[i]).addClass(\'nuRelatedTab\');\n }\n\n }\n\n}\n\nfunction nuEventList() {\n\n if ($(\'sob_all_type\').val() == \'subform\') {\n return [\'onchange\', \'onadd\'];\n } else {\n return [\'onblur\', \'onchange\', \'onfocus\', \'onkeydown\'];\n }\n\n}\n\nfunction default_description() {\n\n var s = \'zzzzsys_browse_sf\';\n var r = nuSubformObject(s).rows.length - 1;\n var o = s + nuPad3(r) + \'sbr_title\';\n \n nuSetPlaceholder(o, \'Something\');\n \n}\n\nfunction nuUpdateAclCount() {\n var l = $(\"[data-nu-field=\'slf_zzzzsys_access_id\']\").length -2;\n var t = l <= 0 ? \'\' : \' (\' + l + \')\';\n $(\'#nuTab4\').html(nuTranslate(\'Access Level\') + t);\n}\n\n\nfunction createButton(target, pk, formType) {\n \n var btn = $(\"<button id=\'nuPreviewButton\' type=\'button\' data-form-type=\'\"+ formType +\"\' class=\'nuActionButton\'><i class=\'fa fa-search\'></i> </button>\");\n\n $(target).html(btn).attr(\'title\',nuTranslate(\'Preview Form\'));\n btn.on(\'click\',function(){\n var formType = $(this).attr(\"data-form-type\");\n var r = formType == \'launch\' || formType == \'edit\' || formType == \'subform\' ? \'-1\' : \'\';\n nuForm(pk,r,\'\',\'\');\n });\n}\n\nfunction addRowButtons(column) {\n \n $(\"[data-nu-column=\'\" + column + \"\']\").each(function(index) {\n \n var pk = $(this).attr(\'data-nu-primary-key\');\n var r = $(this).attr(\'data-nu-row\');\n var formType = $(\'#nucell_\'+ r + \'_1\').html();\n \n if (typeof pk !== \"undefined\") {\n createButton(this, pk, formType);\n }\n })\n\n}\n\n', NULL, 'function nuOnSelectTab(tab) {\n if (tab.id == \'nuTab1\') {\n // refreshIframe(tab);\n }\n}\n\nfunction refreshIframe(tab) {\n\n const attrLoaded = \'nu-iframe-events-loaded\';\n $tab = $(\'#\' + tab.id);\n if (! $tab.attr(attrLoaded)) {\n $tab.attr(attrLoaded, \'1\');\n let fx = $(\"#iframe_objectevent\")[0].contentWindow;\n fx.nuSetProperty(\'PARENT_FORM_ID\', nuRecordId());\n fx.nuGetBreadcrumb();\n }\n \n}', NULL, NULL, NULL),
('nupassword', 'launch', 'nupassword', 'Change Password', NULL, NULL, '', '', '', 0, 0, '0', NULL, '', '$(\'#nuTab0\').hide();\n\n\nnuAddActionButton(\'nuRunPHPHidden\', nuTranslate(\'Save\'), \'nuRunPHPHidden(\"NUCHANGEPASSWORD\")\');\n\n\nvar changePW = nuGetValue(\'display_change_required\');\n\nif (changePW) {\n nuSetValue(\'display_change_required\', nuTranslate(changePW));\n} else {\n nuHide(\'display_change_required\');\n}', NULL, NULL, NULL, '1', NULL),
('nuprocedure', 'browseedit', 'nuprocedure', 'Procedures', NULL, '#sph_code#|New', 'zzzzsys_php', 'zzzzsys_php_id', '', 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_php\nLEFT JOIN zzzzsys_form ON zzzzsys_form_id = sph_zzzzsys_form_id\nWHERE ((sph_system != \'1\' OR sph_system IS NULL) \nOR (\'#DEV_MODE#\' = \'1\' AND LEFT(RIGHT(sph_code, 3),1) <> \'_\'))\nORDER BY sph_code\n', NULL, 'if (parent.nuCurrentProperties().form_id == \'nuaccess\') {\n $(\'#nuBreadcrumb0\').html(nuTranslate(\'Procedures\'));\n}', 'nuHide(\'sph_code_snippet_select_lookupcode\');\n\n// Code Snippets form\nnuSetSnippetFormFilter(0, 0, 0, 1); // PHP Code\n\nvar recordId = nuRecordId();\nvar recordIdSuffix = recordId.slice(-2);\n\nwindow.nuImages = parent.nuImages;\n\nif (nuPorcIsTemplate() && !nuDevMode()) {\n nuDisableAllObjects();\n nuMessage(\"Unable to save templates. Please clone them to create a new copy and save the cloned version instead.\", 2500);\n}\n\n\nwindow.nuHelp = \'Procedures\';\n\nif (! recordId.startsWith(\'nu\')) {\n nuSetValue(\'sph_system\', \'0\');\n nuSetValue(\'sph_hide\', \'\');\n}\n\nif (!nuIsNewRecord()) {\n nuProcUpdateAclCount();\n nuAddActionButton(\'ProcRunProcedure\', \'Run\', \'nuProcRunProcedure();\');\n}\n\n\n$(\'#sph_php\')\n.addClass(\'php\')\n.on(\'dblclick\', function() {\n nuOpenAce(\'PHP\', this.id);\n});\n\n$(function() {\n $(\'#sph_php\').scrollTop(window.scrollTop);\n});\n\nnuHasNotBeenEdited();\n\nfunction nuProcSetStyles() {\n $(\'#sph_php\')\n .css(\'padding\', \'3px 3px 3px 3px\')\n .trigger(\"focus\");\n\n}\n\nfunction nuProcRunProcedure() {\n\n if (sph_run.value == \'window\') {\n nuRunPHP(sph_code.value, \'\', 0);\n } else {\n nuRunPHPHidden(sph_code.value);\n }\n\n}\n\nfunction nuProcUpdateAclCount() {\n\n const l = $(\"[data-nu-field=\'slp_zzzzsys_access_id\']\").length -2;\n const t = l <= 0 ? \'\': \' (\' + l + \')\';\n $(\'#nuTab1\').html(nuTranslate(\'Access Level\') + t);\n\n}\n\nfunction nuPorcIsTemplate() {\n return nuGetValue(\'sph_template\');\n}\n\n\nfunction nuOnClone() {\n\n let code = sph_code.value;\n\n if (nuPorcIsTemplate()) {\n code = code == \'NUSENDWELCOMEEMAIL_Template\' ? \'nuSendWelcomeEmail\': code.substring(0, code.length-9);\n nuSetValue(\'sph_code\', code);\n nuSetValue(\'sph_group\', \'\');\n nuSetValue(\'sph_template\', false);\n nuEnableAllObjects();\n }\n\n}\n\nfunction nuOnSetSaved(v) {\n nuEnable(\'nurunProcedureButton\', v);\n}\n\nfunction nuBeforeSave() {\n\n window.scrollTop = $(\'#sph_php\').scrollTop();\n return true;\n\n}', NULL, '1', NULL),
('nuemaillog', 'browseedit', 'nuemaillog', 'E-Mail Log', NULL, NULL, 'zzzzsys_email_log', 'zzzzsys_email_log_id', '', 0, 0, '1', NULL, 'SELECT * FROM zzzzsys_email_log \nLEFT JOIN zzzzsys_user ON zzzzsys_user_id = eml_user_id\nLEFT JOIN zzzzsys_form ON zzzzsys_form_id = eml_form_id\nWHERE (eml_state = \'#nuBrowseTitle2_select#\' OR LEFT(\'#nuBrowseTitle2_select#\',1) IN (\'#\',\'\'))\nORDER BY eml_created_at DESC', NULL, '$(function() { \n nuAddBrowseTitleSelect(2, getState()); \n $(\"select[id^=\'nuBrowseTitle\']\").parent().off(\"touchstart\");\n});', NULL, NULL, '1', NULL),
('nurunjavascript', 'launch', 'nurunjavascript', 'Run JavaScript', NULL, NULL, '', '', '', 0, 0, '0', NULL, '', 'nuAddActionButton(\'runOutputEval\', \'Run\', \'nuOutputEval()\');\n\nfunction scrollToBottom(id) {\n let textarea = document.getElementById(id);\n textarea.scrollTop = textarea.scrollHeight;\n}\n\nfunction nuOutputEval() {\n\n try {\n jsc_output.value += eval(jsc_Input.value) + \"\\n\";\n scrollToBottom(\'jsc_output\');\n } catch (e) {\n \n jsc_output.value += e.message;\n }\n\n}', NULL, NULL, NULL, NULL, NULL),
('nurunlist', 'browse', 'nurunlist', 'Run Form, Report or Procedure', NULL, NULL, 'zzzzsys_debug', 'zzzzsys_debug_id', '', 0, 16, '0', NULL, 'SELECT * FROM #TABLE_ID#', '\n$(\"[data-nu-column=\'nucolumn000\']\").each(function() {\n\n $(this).addClass(\'nu_\'+this.innerHTML);\n\n});', NULL, NULL, NULL, NULL, NULL),
('nurunphp', 'browse', 'nurunphp', 'Run Procedure', NULL, NULL, 'zzzzsys_php', 'zzzzsys_php_id', '', 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_php\nJOIN zzzzsys_form ON zzzzsys_form_id = sph_zzzzsys_form_id\nWHERE (sph_system != \'1\' OR sph_system IS NULL)\nORDER BY sph_code', '$(\'#nuAddButton\').remove();\n$(\'#nuPrintButton\').remove();\n\nfunction nuSelectBrowse(event) {\n\n const $element = $(\'#\' + event.target.id);\n const primaryKey = $element.attr(\'data-nu-primary-key\');\n\n const row = $element.attr(\'data-nu-row\');\n const phpFunction = $(\'#nucell_\' + row + \'_3\').html();\n\n nuGetPHP(phpFunction, primaryKey);\n\n}\n', NULL, NULL, NULL, NULL, NULL),
('nurunreport', 'browse', 'nurunreport', 'Run Report', NULL, NULL, 'zzzzsys_report', 'zzzzsys_report_id', '', 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_report\nLEFT JOIN zzzzsys_form ON zzzzsys_form_id = sre_zzzzsys_form_id\nORDER BY sre_code', 'nuSetTitle(nuFORM.getCurrent().run_description);\n\n$(\'#nuAddButton\').remove();\n$(\'#nuPrintButton\').remove();\n\nfunction nuSelectBrowse(e) {\n\n const cell = $(e.target).closest(\'div\');\n const row = cell.attr(\'data-nu-row\');\n const form = $(\'#nucell_\' + row + \'_0\').html() || \'nublank\';\n const primaryKey = cell.attr(\'data-nu-primary-key\');\n\n nuGetReport(form, primaryKey);\n\n}', NULL, NULL, NULL, NULL, NULL),
('nusample', 'launch', 'nusample', 'Default Fast Form Objects', NULL, NULL, '', '', '', 0, 0, '0', NULL, '', '//$(\'#nuBreadcrumbHolder\').remove();\n$(\'#nuActionHolder\').remove();\n//$(\'#nuTabHolder\').remove();\n\n$(\'#nuOptions\').hide();\n\n$(\'#inputtextsample\').val(\'text\');\n$(\'#inputnumbersample\').val(4);\n$(\'#inputnunumbersample\').val(\'$ 1,234.56\');\n$(\'#inputnudatesample\').val(\'23-Jan-2021\');\n$(\'#inputnuscrollsample\').val(\'East\');\n$(\'#calcsample\').val(\'$ 1,238.56\');\n\n$(\'#selectsample\').val(1);\n$(\'#selectmultiselectsample\').val(0);\n$(\'#textareasample\').val(\"text-area\");\n\n$(\"[id^=\'label\']\").addClass(\'nu_input\').css({width:120, left:10, \'text-align\':\'center\'});\n\n$(\'#label_imagesample\').addClass(\'nu_image\').removeClass(\'nu_input\');\n$(\'#label_textareasample\').addClass(\'nu_textarea\').removeClass(\'nu_input\');\n$(\'#label_displaysample\').addClass(\'nu_display\').removeClass(\'nu_input\');\n$(\'#label_htmlsample\').addClass(\'nu_html\').removeClass(\'nu_input\');\n$(\'#label_calcsample\').addClass(\'nu_calc\').removeClass(\'nu_input\');\n$(\'#label_selectsample\').addClass(\'nu_select\').removeClass(\'nu_input\');\n$(\'#label_selectmultiselectsample\').addClass(\'nu_select\').removeClass(\'nu_input\');\n$(\'#label_lookupsample\').addClass(\'nu_lookup\').removeClass(\'nu_input\');\n$(\'#labelword\').addClass(\'nu_word\').removeClass(\'nu_input\');\n$(\'#label_subformsample\').addClass(\'nu_subform\').removeClass(\'nu_input\').css({left:10});\n\n$(\"[id^=\'label\']\")\n.addClass(\'nuCalculatorButton\')\n.removeClass(\'nuWord\')\n.css({\'height\':30, \'width\':220});\n\n\n\n\n', NULL, NULL, NULL, NULL, NULL),
('nusamplesubformform', 'launch', 'nusamplesubformform', 'Sample Subform Form', NULL, NULL, '', '', '', 0, 0, '0', NULL, '', NULL, NULL, NULL, NULL, NULL, NULL),
('nuselect', 'browseedit', 'nuselect', 'SQL Builder', NULL, '#sse_description#|New', 'zzzzsys_select', 'zzzzsys_select_id', '', 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_select \r\nWHERE (sse_system != 1 OR sse_system IS NULL)\r\nORDER BY sse_description ASC\r\n\r\n', NULL, NULL, 'nuSetToolTip(\'sse_resize\', \'Resize\');\r\n$(\'#sse_sql\').css(\'z-index\', 1);\r\nnuLabelOnTop([\'nusvg\']);\r\n\r\n\r\n\r\nif (nuIsNewRecord()) {\r\n $(\'#sse_edit\').val(0);\r\n}\r\n\r\n$(\"#sse_edit option[value=\'\']\").remove();\r\n\r\n$(\'#sse_sql\')\r\n.css(\'font-size\', \'10px\')\r\n.addClass(\'sql\')\r\n.on(\'dblclick\', function() {\r\n nuOpenAce(\'SQL\', this.id);\r\n});\r\n\r\n$(\'#label_sse_sql\').remove();\r\nnuHide(\'sse_code_snippet_lookupcode\');\r\nnuSetSnippetFormFilter(0, 0, 1);\r\n\r\n$(\'#sse_resize\').addClass(\'nuAllowDblClick\');\r\n\r\nnuSelectSetSFCB();\r\n\r\nif (window.filter == \'justsql\') {\r\n\r\n var sid = String(nuFORM.getCurrent().record_id);\r\n var from = sid.substring(sid.length-2);\r\n var targ = \'#sfo_browse_sql\';\r\n\r\n $(\'#nuDeleteButton\').remove();\r\n $(\'#nuCloneButton\').remove();\r\n $(\'#sse_description\').val(sid);\r\n\r\n nuHide(\'sse_description\');\r\n\r\n if (nuFORM.getCurrent().record_id != -1) {\r\n\r\n $(\'#nuSaveButton\').hide();\r\n\r\n if (from == \'BR\') {\r\n nuAddActionButton(\'SaveToTextarea\', \'Copy to Form Browse SQL\', \'nuSelectCopySQL(\"sfo_browse_sql\")\');\r\n }\r\n if (from == \'SE\') {\r\n nuAddActionButton(\'SaveToTextarea\', \'Copy to Select Object SQL\', \'nuSelectCopySQL(\"sob_select_sql\")\');\r\n }\r\n if (from == \'DI\') {\r\n nuAddActionButton(\'SaveToTextarea\', \'Copy to Display Object SQL\', \'nuSelectCopySQL(\"sob_display_sql\")\');\r\n }\r\n\r\n }\r\n\r\n}\r\n\r\n\r\n\r\n\r\n\r\n$(\'#sse_sql\').css(\'overflow-x\', \'scroll\');\r\n\r\n\r\nnuSelectWhereClauses();\r\n\r\n\r\nfunction nuSelectCopySQL(target) {\r\n\r\n const s = $(\'#sse_sql\').val();\r\n\r\n parent.$(\'#\' + target).val(s).change();\r\n\r\n parent.$(\'#dialogClose\').trigger(\"click\");\r\n\r\n}\r\n\r\n\r\nfunction nuSelectTempPHP() {\r\n\r\n var p = [];\r\n\r\n p.push(\'\');\r\n p.push(\'$sql = \"\');\r\n p.push(\'\');\r\n p.push(\'CREATE TABLE #TABLE_ID#\');\r\n p.push($(\'#sse_sql\').val());\r\n p.push(\'\');\r\n p.push(\'\";\');\r\n p.push(\'\');\r\n p.push(\"nuRunQuery($sql);\");\r\n p.push(\'\');\r\n nuMessage(p);\r\n\r\n $(\"#nuMessageDiv\").css(\'text-align\', \'left\');\r\n\r\n}\r\n\r\nfunction nuBeforeSave() {\r\n\r\n nuSelectBuildSQL();\r\n return true;\r\n\r\n}\r\n\r\nfunction nuSelectWhereClauses() {\r\n\r\n $(\"[id$=\'ssc_type\']select\").each(function(index) {\r\n\r\n var p = $(this).attr(\'data-nu-prefix\');\r\n var t = $(this).val();\r\n\r\n if (t == 2 || t == 3) {\r\n\r\n if ($(\'#\' + p + \'ssc_sort\').val() == \'\') {\r\n $(\'#\' + p + \'ssc_sort\').val(\'ASC\');\r\n }\r\n\r\n $(\'#\' + p + \'ssc_clause\').hide();\r\n $(\'#\' + p + \'ssc_sort\').show();\r\n\r\n } else {\r\n\r\n $(\'#\' + p + \'ssc_clause\').show();\r\n $(\'#\' + p + \'ssc_sort\').hide();\r\n\r\n }\r\n\r\n });\r\n\r\n}\r\n\r\nfunction nuSelectWhereClausesold() {\r\n\r\n $(\"[id$=\'ssc_type\']select\").each(function(index) {\r\n\r\n var p = $(this).attr(\'data-nu-prefix\');\r\n var t = $(this).val();\r\n\r\n if (t == 2 || t == 3) {\r\n\r\n if ($(\'#\' + p + \'ssc_sort\').val() == \'\') {\r\n $(\'#\' + p + \'ssc_sort\').val(\'ASC\');\r\n }\r\n\r\n $(\'#\' + p + \'ssc_clause\').hide();\r\n $(\'#\' + p + \'ssc_sort\').show();\r\n\r\n } else {\r\n\r\n $(\'#\' + p + \'ssc_clause\').show();\r\n $(\'#\' + p + \'ssc_sort\').hide();\r\n\r\n }\r\n\r\n });\r\n\r\n}\r\n\r\nfunction nuSelectAddSQLTable(e) {\r\n\r\n let s = $(\'#sqlframe\')[0].contentWindow.nuSQL;\r\n\r\n s.addBox(e.target.value);\r\n e.target.value = \'\';\r\n s.buildSQL();\r\n\r\n}\r\n\r\nfunction nuSelectSFCB() {\r\n\r\n nuSelectWhereClauses();\r\n nuSelectBuildSQL();\r\n\r\n}\r\n\r\nfunction nuSelectBuildSQL() {\r\n $(\'#sqlframe\')[0].contentWindow.nuSQL.buildSQL();\r\n}\r\n\r\nfunction nuSelectSetSFCB() {\r\n\r\n $(\'.nuSubformCheckbox.zzzzsys_select_clause\').on(\'click\',\r\n function() {\r\n nuSelectSFCB();\r\n });\r\n\r\n\r\n}\r\n\r\nfunction nuSelectResizeSQL() {\r\n\r\n if ($(\'#sqlframe\').css(\'height\') == \'460px\') {\r\n $(\'#sqlframe\').css(\'height\', 700);\r\n } else {\r\n $(\'#sqlframe\').css(\'height\', 460);\r\n }\r\n\r\n}', NULL, '1', NULL),
('nusession', 'browse', 'nusession', 'Sessions', NULL, NULL, 'zzzzsys_session', 'zzzzsys_session_id', '', 0, 0, '0', NULL, 'SELECT \n *\nFROM (\n SELECT \n zzzzsys_session_id AS zzzzsys_session_id,\n TRIM(BOTH \'\"\' FROM JSON_EXTRACT(sss_access, \'$.session.zzzzsys_user_id\')) AS login,\n NULL AS user,\n sss_login_time AS login_time,\n TRIM(BOTH \'\"\' FROM JSON_EXTRACT(sss_access, \'$.session.ip_address\')) AS ip\n FROM \n zzzzsys_session\n WHERE \n TRIM(BOTH \'\"\' FROM JSON_EXTRACT(sss_access, \'$.session.global_access\')) = \'1\'\n \n UNION ALL\n \n SELECT \n zzzzsys_session_id AS zzzzsys_session_id,\n sus_login_name AS login,\n sus_name AS user,\n sss_login_time AS login_time,\n TRIM(BOTH \'\"\' FROM JSON_EXTRACT(sss_access, \'$.session.ip_address\')) AS ip\n FROM \n zzzzsys_user\n JOIN zzzzsys_session ON zzzzsys_user_id = TRIM(BOTH \'\"\' FROM JSON_EXTRACT(sss_access, \'$.session.zzzzsys_user_id\'))\n WHERE \n TRIM(BOTH \'\"\' FROM JSON_EXTRACT(sss_access, \'$.session.global_access\')) = \'0\'\n) AS combined_sessions WHERE (1)\nORDER BY \n login_time DESC\n', 'nuHide(\'nuAddButton\');\n\n', NULL, NULL, NULL, NULL, NULL);
INSERT INTO `zzzzsys_form` (`zzzzsys_form_id`, `sfo_type`, `sfo_code`, `sfo_description`, `sfo_group`, `sfo_breadcrumb_title`, `sfo_table`, `sfo_primary_key`, `sfo_browse_redirect_form_id`, `sfo_browse_row_height`, `sfo_browse_rows_per_page`, `sfo_browse_title_multiline`, `sfo_browse_autoresize_columns`, `sfo_browse_sql`, `sfo_javascript`, `sfo_browse_javascript`, `sfo_edit_javascript`, `sfo_style`, `sfo_mobile_view`, `sfo_json`) VALUES
('nusetup', 'edit', 'nusetup', 'Setup', NULL, NULL, 'zzzzsys_setup', 'zzzzsys_setup_id', '', 0, 0, '0', NULL, '', NULL, NULL, '\nif (window.configImport == \'1\') {\n nuSetupConfigEffectiveMsg();\n }\n \n if (set_smtp_username.value == \'1\') {\n nuHide(\'set_nuemailtest_button\');\n }\n \n $(function() {\n $(\'#set_header\').scrollTop(window.scrollTop);\n });\n \n $(\'#set_header\').addClass(\'js\');\n $(\'#set_style\').addClass(\'css\');\n \n nuACEInitDblClickHandlers();\n \n $(\'#nuDeleteButton\').remove();\n $(\'#nuCloneButton\').remove();\n \n \n nuSetToolTip(\'set_denied\', nuTranslate(\'Disallow access to nuBuilder\\\'s core forms.\'), true);\n \n nuHide(\'set_code_snippet_lookupcode\');\n nuAttachButtonImage(\'icon_js\', \'JS\');\n nuAttachButtonImage(\'icon_css\', \'CSS\');\n \n nuSetProperty(\'set_header_current\', $(\'#set_header\').val());\n nuSetProperty(\'set_language_current\', $(\'#set_language\').val());\n \n // Code Snippets form\n nuSetSnippetFormFilter(0, 1, 0, 0);\n \n nuSetupSetConfigDatalist(\'$nuConfigGlobeadminHome\', [\'nuhome\']);\n nuSetupSetConfigDatalist(\'nuShowJSErrors\', [\'none\',\'globeadmin\',\"everyone\"]);\n nuSetupSetConfigDatalist(\'nuEditCloseAfterSave\', [\'None\',\'AllForms\',\"UserForms\",\"SystemForms\"]);\n nuSetupSetConfigDatalist(\'nuCalendarWeekNumbers\', [\'None\',\'ISO 8601\',\"Western traditional\",\"Middle Eastern\"]);\n\n nuSelectAddEnglishOption(\'set_language\');\n \n var d = nuDevMode();\n if (!d) {\n nuHideTabById(\'nu5fe19e93306dd6e\'); // dev\n }\n \n $(\'#set_files_version_user\').val(nuGetFilesVersion());\n \n function nuSetupIncVersion(i) {\n \n var dbv = $(\'#\' + i).val();\n var dbvSplit = dbv.split(\"-\");\n const major = dbvSplit[0];\n const date = dbvSplit[1].slice(0, -3)\n let build = parseInt(dbv.split(/[. ]+/).pop(), 10);\n \n let today = nuCurrentDate(\'yyyy.mm.dd\');\n \n build++;\n if (date !== today) {\n build = 0;\n }\n \n return major + \'-\' + today + \'.\' + nuPad2(build);\n }\n \n function nuSetupIncDBVersion() {\n const dbInc = nuSetupIncVersion(\'set_db_version\');\n $(\'#set_db_version_inc\').val(dbInc);\n }\n \n function nuSetupIncFilesVersion() {\n const filesInc = nuSetupIncVersion(\'set_files_version\');\n $(\'#set_files_version_inc\').val(filesInc);\n }\n \n \n function nuSetupSelectToValueArray(id) {\n \n var a = [];\n $(\'#\' + id + \' option:selected\').each(function(index) {\n if ($(this).text() !== \'\') {\n a.push($(this).val())\n }\n });\n \n return a;\n \n }\n \n \n function nuBeforeSave() {\n \n \n if ($(\'#set_language\').hasClass(\'nuEdited\')) {\n $(\"#set_languages_included option[value=\'\" + $(\'#set_language\').val() + \"\']\").prop(\"selected\", true);\n $(\'#set_languages_included\').change();\n }\n \n var v = \'\';\n if (!$(\'#set_languages_included\').hasClass(\'nuEdited\')) v = \'-1\';\n \n if (v === \'\') {\n var languagesIncluded = nuSetupSelectToValueArray(\'set_languages_included\');\n v = languagesIncluded.length === 0 ? \'\': JSON.stringify(languagesIncluded);\n }\n \n nuSetProperty(\'set_languages_included_json\', v);\n window.scrollTop = $(\'#set_header\').scrollTop();\n \n nuSetupBeforeSaveConfig();\n \n return true;\n \n }\n \n // Config\n \n function nuAfterSave() {\n \n nuSetupConfigEffectiveMsg();\n \n nuAddCSSStyle(set_style.value);\n }\n \n function nuSetupConfigEffectiveMsg() {\n \n if (window.configEffective == \'2\') {\n nuMessage(nuTranslate(\'You will need to log in again for the changes to take effect.\'));\n } else if (window.configEffective == \'3\' || window.configImport == \'1\') {\n nuMessage(nuTranslate(\'You may need to restart your browser for the changes to take effect.\'));\n }\n \n window.configEffective = \'1\';\n window.configImport = \'0\';\n \n }\n \n // Settings:\n \n nuSetupSfAddFilters();\n nuSetupSfChangeValueObjectTypes();\n nuSetuSfSetDescriptionTitle();\n nuSetupSfStoreInitialValues();\n \n $(\'#nuCloneButton\').remove();\n $(\'#nuDeleteButton\').remove();\n \n \n function nuOnSetSaved(v) {\n if (v === false) {\n nuDisable(\'button_import\');\n }\n }\n \n function nuSetupSfStoreInitialValues() {\n $(\'[id ^=nuconfigsettings][id $=cfg_value]\').each(function() {\n $(this).attr(\'data-org-value\', nuEncode(this.value));\n });\n }\n \n function nuSetupOnConfigValueChanged(t) {\n let orgValue = nuDecode($(t).attr(\'data-org-value\'));\n if (orgValue !== t.value) {\n $(t).addClass(\'changedCgfValue\');\n } else {\n $(t).removeClass(\'changedCgfValue\');\n }\n }\n \n function nuSetuSfSetDescriptionTitle() {\n \n let fieldArr = nuSubformColumnArray(\'nuconfigsettings\', \'cfg_description\');\n \n for (var i = 0; i < fieldArr.length; i++) {\n \n var f = $(\'#nuconfigsettings\' + nuPad3(i) + \'cfg_description\');\n if (f.val() !== \'\') {\n f.attr(\'title\', f.val());\n }\n \n \n }\n \n }\n \n function nuSetupSfAddFilters() {\n\n var sfFilter = {};\n sfFilter.nuconfigsettings = {\n \'cfg_category\': {\n type: \'search\',\n float: \'left\'\n },\n \'cfg_title\': {\n type: \'search\'\n }\n };\n \n nuSubformAddFilter(sfFilter);\n \n }\n \n \n function nuSetupChangeObjectTypeToSelectBoolean(i) {\n \n const el = $(\'#\' + i);\n \n el.replaceWith($(\'<select />\').attr({\n id: el.attr(\'id\'),\n name: el.attr(\'name\'),\n class: el.attr(\'class\'),\n }));\n \n let elSelect = $(\'#\' + i);\n \n elSelect.css({\n top: el.nuCSSNumber(\'top\'),\n left: el.nuCSSNumber(\'left\'),\n width: el.nuCSSNumber(\'width\'),\n height: el.nuCSSNumber(\'height\'),\n position: \'absolute\'\n });\n \n nuSetupCopyAttributes(el[0], elSelect[0]);\n \n return elSelect;\n \n }\n \n function nuSetupCopyAttributes(source, target) {\n \n return Array.from(source.attributes).forEach(attribute => {\n target.setAttribute(\n attribute.nodeName === \'id\' ? \'data-id\': attribute.nodeName,\n attribute.nodeValue\n );\n });\n \n }\n \n \n function nuSetupSelectAddBooleanOptions(el, val) {\n \n el.append(\"<option value=\'\" + \'true\' + \"\'>\" + \'true\' + \"</option>\");\n el.append(\"<option value=\'\" + \'false\' + \"\'>\" + \'false\' + \"</option>\");\n \n let index = val == \'true\' ? 0: (val == \'false\' ? 1: -1);\n \n el.prop(\'selectedIndex\', index);\n \n }\n \n function nuSetupSfChangeValueObjectTypes() {\n \n const sfName = \'nuconfigsettings\';\n const sf = nuSubformObject(sfName);\n const typeCol = sf.fields.indexOf(\'cfg_type\');\n \n for (let i = 0; i < sf.rows.length; i++) {\n \n const el = sfName + nuPad3(i) + \'cfg_value\';\n const obj = $(\'#\'+ el);\n const val = obj.val();\n const type = sf.rows[i][typeCol];\n \n if (type == \'2\') {\n let selectObj = nuSetupChangeObjectTypeToSelectBoolean(el);\n nuSetupSelectAddBooleanOptions(selectObj, val);\n \n } else if (type == \'3\') {\n document.getElementById(el).type = \'number\';\n \n } else if (type == \'9\') {\n let selectObj = nuSetupChangeObjectTypeToSelectBoolean(el);\n nuSetupAddAceOptions(selectObj, val);\n }\n \n }\n }\n \n function nuSetupAddAceOptions(obj, value) {\n \n const options = `\n <optgroup label=\"Bright\">\n <option value=\"chrome\">Chrome</option>\n <option value=\"clouds\">Clouds</option>\n <option value=\"crimson_editor\">Crimson Editor</option>\n <option value=\"dawn\">Dawn</option>\n <option value=\"dreamweaver\">Dreamweaver</option>\n <option value=\"eclipse\">Eclipse</option>\n <option value=\"github\">GitHub</option>\n <option value=\"iplastic\">IPlastic</option>\n <option value=\"solarized_light\">Solarized Light</option>\n <option value=\"textmate\">TextMate</option>\n <option value=\"tomorrow\">Tomorrow</option>\n <option value=\"xcode\">XCode</option>\n <option value=\"kuroir\">Kuroir</option>\n <option value=\"katzenmilch\">KatzenMilch</option>\n <option value=\"sqlserver\">SQL Server</option>\n </optgroup>\n <optgroup label=\"Dark\">\n <option value=\"ambiance\">Ambiance</option>\n <option value=\"chaos\">Chaos</option>\n <option value=\"clouds_midnight\">Clouds Midnight</option>\n <option value=\"dracula\">Dracula</option>\n <option value=\"cobalt\">Cobalt</option>\n <option value=\"gruvbox\">Gruvbox</option>\n <option value=\"gob\">Green on Black</option>\n <option value=\"idle_fingers\">idle Fingers</option>\n <option value=\"kr_theme\">krTheme</option>\n <option value=\"merbivore\">Merbivore</option>\n <option value=\"merbivore_soft\">Merbivore Soft</option>\n <option value=\"mono_industrial\">Mono Industrial</option>\n <option value=\"monokai\">Monokai</option>\n <option value=\"nord_dark\">Nord Dark</option>\n <option value=\"one_dark\">One Dark</option>\n <option value=\"pastel_on_dark\">Pastel on dark</option>\n <option value=\"solarized_dark\">Solarized Dark</option>\n <option value=\"terminal\">Terminal</option>\n <option value=\"tomorrow_night\">Tomorrow Night</option>\n <option value=\"tomorrow_night_blue\">Tomorrow Night Blue</option>\n <option value=\"tomorrow_night_bright\">Tomorrow Night Bright</option>\n <option value=\"tomorrow_night_eighties\">Tomorrow Night 80s</option>\n <option value=\"twilight\">Twilight</option>\n <option value=\"vibrant_ink\">Vibrant Ink</option>\n <option value=\"github_dark\">GitHub Dark</option>\n </optgroup> \n `;\n \n obj.html(options).val(value);\n \n }\n \n function nuSetupBeforeSaveConfig() {\n \n window.configEffective = \'1\';\n \n $(\'.nuEdited\').each(function() {\n const rowId = this.id.replace(\'nuconfigsettings\', \'\').slice(0, 3);\n const effective = $(\'#nuconfigsettings\' + rowId + \'cfg_effective\').val();\n \n if (effective == \'2\' || effective == \'3\') { // log in again or restart browser\n window.configEffective = effective;\n return false;\n }\n \n })\n \n }\n \n \n function nuSetupSetConfigDatalist(cfgItem, arrDatalist) {\n \n const input = $(\'input\').filter((i,v) => v.value == cfgItem);\n if (input.length == 1) {\n const valueId = input.attr(\'id\').replace(\'cfg_setting\',\'cfg_value\');\n nuAddDatalist(valueId, arrDatalist);\n }\n \n }\n \n ', '.changedCgfValue {\n background-color: #dfe9ff;\n}', '1', NULL),
('nutab', 'browse', 'nutab', 'Form Tab', NULL, NULL, 'zzzzsys_tab', 'zzzzsys_tab_id', '', 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_tab\nJOIN zzzzsys_form ON zzzzsys_form_id = syt_zzzzsys_form_id\nORDER BY syt_order', '\n$(\"[data-nu-column=\'3\']\").each(function() {\n $(this).addClass(\'nu_\'+this.textContent);\n});\n\n', NULL, NULL, NULL, NULL, NULL),
('nutablookup', 'browse', 'nutablookup', 'Form Tab Lookup', NULL, NULL, 'zzzzsys_tab', 'zzzzsys_tab_id', '', 0, 16, '0', NULL, 'SELECT * FROM zzzzsys_tab\nJOIN zzzzsys_form ON zzzzsys_form_id = syt_zzzzsys_form_id\nJOIN #TABLE_ID# ON zzzzsys_form_id = theid\nORDER BY sfo_description, syt_order\n\n ', 'function getParentFormCode() {\n \n return parent.parent.nuCurrentProperties().form_code;\n \n}\n\nif(nuFormType() == \'browse\'){\n \n if ( getParentFormCode() !== \'nuobject\' && window.filtered !== 1) {\n nuAddActionButton(\'nuFilterCurrentForm\', \'Current Form only\', \'nuSearchAction(\"\", \"\'+getParentFormCode()+\'\");window.filtered = 1;\'); \n }\n\n //-- run as the Form is loaded \n\n $(\"[data-nu-column=\'3\']\").each(function() {\n $(this).addClass(\'nu_\'+this.textContent);\n });\n \n $(\'#nuAddButton\').remove();\n $(\'#nuPrintButton\').remove();\n\n\n}\n \n\n', NULL, NULL, NULL, NULL, NULL),
('nutimezone', 'browse', 'nutimezone', 'Time Zone', NULL, NULL, 'zzzzsys_timezone', 'zzzzsys_timezone_id', '', 0, 16, '0', NULL, 'SELECT * \nFROM zzzzsys_timezone\nORDER BY stz_timezone', NULL, NULL, NULL, NULL, NULL, NULL),
('nutranslate', 'browseedit', 'nutranslate', 'Translation', NULL, '#trl_english#|New', 'zzzzsys_translate', 'zzzzsys_translate_id', '', 0, 0, '1', NULL, 'SELECT * \nFROM zzzzsys_translate\nWHERE (\n\n (trl_language = \'#nuBrowseTitle0_select#\' OR \'#nuBrowseTitle0_select#\' LIKE \'#%\' OR \'#nuBrowseTitle0_select#\' = \'\')\n\n AND\n \n (IF(zzzzsys_translate_id like \'nu%\',\'\',\'✔\') = \'#nuBrowseTitle3_select#\' OR \'#nuBrowseTitle3_select#\' LIKE \'#%\' OR \'#nuBrowseTitle3_select#\' = \'\')\n\n)\n\nORDER BY trl_language, trl_english', NULL, '\n$(function() {\n \n nuAddBrowseTitleSelect(0, getLanguage()); \n $(\'#nuBrowseTitle0_select\').parent().off(\"touchstart\");\n \n nuAddBrowseTitleSelect(3, [\"\",\"✔\"], 50);\n $(\'#nuBrowseTitle3_select\').parent().off(\"touchstart\");\n\n});\n', ' if (nuCurrentProperties().record_id.startsWith(\'nu\')) {\n $(\'#nuSaveButton\').remove();\n $(\'#nuDeleteButton\').remove();\n }', NULL, '1', NULL),
('nuupdate', 'launch', 'nuupdate', 'Update', NULL, NULL, '', '', '', 0, 0, '0', NULL, '', 'nuHideHolders(0,2);\nnuHideTabs(0);\n\n$(document).ready(function(){\n\n if (nuIsMobile()) {\n $(\'#updateiframe\').css(\'width\', window.visualViewport.width + \'px\');\n }\n});', NULL, NULL, NULL, '1', NULL),
('nuuser', 'browseedit', 'nuuser', 'Users', NULL, '#sus_name#|New', 'zzzzsys_user', 'zzzzsys_user_id', '', 0, 0, '1', NULL, 'SELECT *\nFROM zzzzsys_user\nINNER JOIN zzzzsys_access ON zzzzsys_access_id = sus_zzzzsys_access_id\nWHERE\n(\n\n (\n (\'#nuBrowseTitle9_select#\' LIKE \'#%\' AND (sus_expires_on > NOW() OR sus_expires_on IS NULL)) OR\n (\'#nuBrowseTitle9_select#\' = \'Expired\' AND sus_expires_on < NOW()) OR\n (\'#nuBrowseTitle9_select#\' = \'\')\n )\n\n AND\n (sus_team = \'#nuBrowseTitle8_select#\' OR LEFT(\'#nuBrowseTitle8_select#\',1) IN (\'#\',\'\'))\n AND\n (sus_position = \'#nuBrowseTitle6_select#\' OR LEFT(\'#nuBrowseTitle6_select#\',1) IN (\'#\',\'\'))\n AND\n (sus_department = \'#nuBrowseTitle7_select#\' OR LEFT(\'#nuBrowseTitle7_select#\',1) IN (\'#\',\'\'))\n AND\n (sus_language = \'#nuBrowseTitle4_select#\' OR LEFT(\'#nuBrowseTitle4_select#\',1) IN (\'#\',\'\'))\n AND\n (CONCAT(sal_code,\' : \',sal_description) = \'#nuBrowseTitle3_select#\' OR LEFT(\'#nuBrowseTitle3_select#\',1) IN (\'#\',\'\'))\n\n)\n\nORDER BY sus_name', NULL, '$(function() { \n nuAddBrowseTitleSelect(9, [\"\", \"Expired\"]); \n nuAddBrowseTitleSelect(3, getAccessLevel()); \n nuAddBrowseTitleSelect(4, getLanguage()); \n nuAddBrowseTitleSelect(6, getPosition()); \n nuAddBrowseTitleSelect(7, getDepartment()); \n nuAddBrowseTitleSelect(8, getTeam()); \n $(\"select[id^=\'nuBrowseTitle\']\").parent().off(\"touchstart\");\n});', 'nuSetPlaceholder(\'sus_code\', nuTranslate(\'(Optional)\'));\nnuSetToolTip(\'sus_code\', nuTranslate(\'E.g. Employee Id, Foreign Id etc. Leaving blank will set the \"Login Name\"\'));\nnuSetToolTip(\'sus_language\', nuTranslate(\'Leaving blank will use English\'));\nif (nuIsNewRecord()) { \n nuHide(\'sus_zzzzsys_access_id_open_button\');\n var password = nuRandomPassword(nuCharacterArray(false), 12);\n nuSetValue(\'new_password\', password);\n nuSetValue(\'check_password\', password);\n\n}\n\n$(\'#sus_zzzzsys_access_id_open_button\').toggleClass(\'input_button nuButton nuLookupButton\')\nnuSelectAddEnglishOption(\'sus_language\');\n\nnuHasNotBeenEdited();\n\nfunction nuUserTogglePasswordVisibility() {\n $(\"#new_password\").nuTogglePassword();\n $(\"#check_password\").nuTogglePassword();\n}\n\nfunction nuBeforeSave() {\n\n let code = $(\'#sus_code\');\n if (code.val() === \'\') {\n code.nuSetValue(nuGetValue(\'sus_login_name\'));\n }\n\n return true;\n\n}', '[data-lastpass-icon-root], [data-lastpass-root] {\n display: none !important;\n}\n\n', '1', NULL),
('nuuserhome', 'launch', 'nuuserhome', 'User Home', NULL, NULL, '', '', '', 0, 0, '0', NULL, '', 'nuUserHomeCheckNoObjectsOnForm();\n\nfunction openNuObject() {\n\n $(\'#nuMessageDiv\').remove();\n nuPopup(\'nuobject\', \'-1\', window.nuFORM.getCurrent().form_id);\n\n}\n\nfunction nuUserHomeCheckNoObjectsOnForm() {\n \n if (nuSERVERRESPONSE.objects.length === 0 && window.global_access) {\n const title = nuTranslate(\'Information\');\n const message = `${nuTranslate(\'Currently there are no objects on this Form\')}. <a href=\"javascript:openNuObject();\"><br><br>${nuTranslate(\'Start adding some\')}</a>.`;\n const msg = nuMessage(title, message);\n msg.css({\'top\': \'60px\', \'max-width\': \'500px\'});\n }\n \n}\n', NULL, NULL, NULL, NULL, NULL),
('nuhome', 'launch', 'nuhome', 'Home', NULL, NULL, '', '', '', 0, 0, '0', NULL, '', '$(\'#user_home\').addClass(\'nuUserHomeButton\');\n$(\'.nuActionButton\').hide();\nnuHideTabs(0);\nnuGetStartingTab();\n\nfunction nuHomeOpenForm(f, r, event) {\n n = event.ctrlKey ? \'2\': \'0\';\n nuForm(f, r, \'\', \'\', n);\n}\n\n\nfunction nuHomeOpenMenu(event, menu, element) {\n event.stopPropagation();\n ctxmenu.show(menu, element);\n/*\n nuDelay(2000).then(() => {\n nuContextMenuEnableKeyboardNavigation();\n });\n*/\n \n}\n\nfunction nuHomeOpenCreateMenuConfig(menuType, event) {\n\n const baseMenus = {\n Procedure: [\n { text: nuContextMenuItemText(\"Run\", \"fa fa-play\"), action: () => nuHomeOpenForm(\'nurunphp\', \'\', event) },\n { text: nuContextMenuItemText(\"Add\", \"fa fas fa-plus\"), action: () => nuHomeOpenForm(\'nuprocedure\', \'-1\', event) }\n ],\n Notes: [\n { text: nuContextMenuItemText(\"Add\", \"fa fas fa-plus\"), action: () => nuHomeOpenForm(\'nunotes\', \'-1\', event) },\n { text: nuContextMenuItemText(\"Categories\", \"fa-solid fa-list\"), action: () => nuHomeOpenForm(\'nunotescategroy\', \'\', event) }\n ],\n User: [\n { text: nuContextMenuItemText(\"Add\", \"fa fas fa-plus\"), action: () => nuHomeOpenForm(\'nuuser\', \'-1\', event) },\n { text: nuContextMenuItemText(\"Permission Items\", \"fa-solid fa-list\"), action: () => nuHomeOpenForm(\'nupermissionitem\', \'\', event) }\n ],\n Email: [\n { text: nuContextMenuItemText(\"Add Template\", \"fa fas fa-plus\"), action: () => nuHomeOpenForm(\'nuemailtemplate\', \'-1\', event) },\n { text: nuContextMenuItemText(\"Email Templates\", \"fa-solid fa-list\"), action: () => nuHomeOpenForm(\'nuemailtemplate\', \'\', event) }\n ],\n Report: [\n { text: nuContextMenuItemText(\"Run\", \"fa fa-play\"), action: () => nuHomeOpenForm(\'nurunreport\', \'\', event) },\n { text: nuContextMenuItemText(\"Add\", \"fa fas fa-plus\"), action: () => nuHomeOpenForm(\'nubuildreport\', \'-1\', event) },\n { text: nuContextMenuItemText(\"Fast Report\", \"fa fa-bolt\"), action: () => nuHomeOpenForm(\'nufrlaunch\', \'\', event) }\n ],\n Form: [\n { text: nuContextMenuItemText(\"Add\", \"fa fas fa-plus\"), action: () => nuHomeOpenForm(\'nuform\', \'-1\', event) },\n { text: nuContextMenuItemText(\"Fast Form\", \"fa fa-bolt\"), action: () => nuHomeOpenForm(\'nufflaunch\', \'\', event) }\n ],\n Database: [\n { text: nuContextMenuItemText(\"CSV Transfer\", \"fas fa-file-csv\"), action: () => nuHomeOpenForm(\'nucsvtransfer\', \'-1\', event) },\n { text: nuContextMenuItemText(\"Backup\", \"backup far fa-hdd\"), action: () => nuRunBackup() },\n { text: nuContextMenuItemText(\"Cloner\", \"far fa-clone\"), action: () => nuHomeOpenForm(\'nucloner\', \'\', event) },\n { text: nuContextMenuItemText(\"Update\", \"fas fa-cloud-download-alt\"), action: () => nuHomeOpenForm(\'nuupdate\', \'\', event) }\n ],\n Setup: [\n { text: nuContextMenuItemText(\"Format\", \"fa fa-calendar\"), action: () => nuHomeOpenForm(\'nuFormat\', \'\', event) },\n { text: nuContextMenuItemText(\"Translation\", \"fa fa-globe\"), action: () => nuHomeOpenForm(\'nutranslate\', \'\', event) }\n ]\n };\n\n if (menuType === \'Database\' && nuSERVERRESPONSE.is_demo) {\n baseMenus.Database = baseMenus.Database.filter(item => item.text !== \"Sessions\");\n }\n\n const menu = [{ text: nuTranslate(menuType) }, ...baseMenus[menuType]];\n return menu;\n\n}\n\nfunction nuHomeMenuClick(element, event, menuType) {\n const menu = nuHomeOpenCreateMenuConfig(menuType, event);\n nuHomeOpenMenu(event, menu, element);\n}', NULL, '', '', '1', NULL),
('nuemailtemplate', 'browseedit', 'nuemailtemplate', 'Email Templates', NULL, '#emt_code#|New', 'zzzzsys_email_template', 'zzzzsys_email_template_id', '', 0, 0, '0', NULL, 'SELECT zzzzsys_email_template.*, sfo_description FROM zzzzsys_email_template \nleft join zzzzsys_form on zzzzsys_form_id = emt_form_id', NULL, NULL, 'nuLabelOnTop([\'emt_form_id\']);\nactiveObj = $(\'#emt_body\');\n\n$(\'#emt_avail_fields\').nuLabelOnTop();\nnuSelectRemoveMultiple(\'emt_avail_fields\');\n\nif (nuEmailTemplateIsTemplate() && !nuDevMode()) {\n nuDisableAllObjects();\n nuMessage(`${nuTranslate(\'Error\')}`, `${nuTranslate(\"Unable to save templates. Please clone them to create a new copy and save the cloned version instead.\")}`, 3500);\n}\n\nnuEmailTemplateSetPreviewText();\n\nfunction nuEmailTemplateAddSelectedField() {\n const selObjectId = nuGetValue(\'emt_avail_fields\', \'text\');\n const selObjectLabel = nuGetValue(\'emt_avail_fields\');\n if (selObjectId !== \'\') {\n const activeObjectId = nuEmailTemplateGetActiveObjectId();\n const isBody = activeObjectId == \'emt_body\';\n const label = isBody ? \'<b>\' + selObjectLabel + \': </b>\': \'\';\n nuInsertAtCaret(activeObjectId, label + \"#\" + selObjectId + \"#\" + (isBody ? \'\\n\': \'\'));\n $(\'#\' + activeObjectId).trigger(\'change\');\n }\n}\n\n\nfunction nuEmailTemplateWrapText(elementID, openTag, closeTag) {\n const textArea = $(\'#\' + elementID);\n const len = textArea.val().length;\n const start = textArea[0].selectionStart;\n const end = textArea[0].selectionEnd;\n if (start !== end) {\n var selectedText = textArea.val().substring(start, end);\n var replacement = openTag + selectedText + closeTag;\n textArea.val(textArea.val().substring(0, start) + replacement + textArea.val().substring(end, len)).trigger(\'change\');\n }\n}\n\nfunction nuEmailTemplateGetActiveObjectId() {\n return activeObj.attr(\'id\');\n}\n\nfunction nuEmailTemplateFormatText(tag) {\n nuEmailTemplateWrapText(nuEmailTemplateGetActiveObjectId(), \'<\' + tag + \'>\', \'</\' + tag + \'>\');\n}\n\nfunction nuEmailTemplateFormatText2(tag) {\n nuEmailTemplateWrapText(nuEmailTemplateGetActiveObjectId(), tag, tag);\n}\n\nfunction nuEmailTemplateSetPreviewText() {\n $(\'#textAreaPreviewDiv\').html($(\'#emt_body\').val().replace(/\\n/g, \'<br />\'));\n}\n\n\nfunction nuEmailTemplateIsTemplate() {\n return nuGetValue(\'emt_template\');\n}\n\nfunction nuOnClone() {\n\n const code = emt_code.value;\n\n if (nuEmailTemplateIsTemplate()) {\n nuSetValue(\'emt_code\', code.substring(0, code.length-8));\n nuSetValue(\'emt_group\', \'\');\n nuSetValue(\'emt_template\', false);\n nuEnableAllObjects();\n }\n\n}', NULL, '1', NULL),
('nunuobjectevent', 'browseedit', 'nuobjectevent', 'Object Events', NULL, '', 'zzzzsys_event', 'zzzzsys_event_id', '', 83, 5, '0', NULL, 'SELECT\n *\nFROM\n zzzzsys_event\nLEFT JOIN zzzzsys_object ON zzzzsys_object_id = sev_zzzzsys_object_id\nLEFT JOIN zzzzsys_tab ON zzzzsys_tab_id = sob_all_zzzzsys_tab_id\nWHERE\n sob_all_zzzzsys_form_id = \'#PARENT_FORM_ID#\'\nORDER BY\n syt_title,\n sob_all_id', '$(\'#nuAddButton\').remove();\n$(\'#nuBreadcrumb1\').remove();\n\nfunction nuOnAddAction() {\n return false;\n}\n\n\n// JavaScript column: Replace \\n with html br\n$(\"[data-nu-column=3]\").each(function() {\n $(this).html($(this).html().replaceAll(\' \', \' \').replace(/\\n/g, \"<br />\"));\n});', 'var parentTabEvents = parent.document.getElementById(\'nuTab1\');\nif (parentTabEvents) {\n parent.refreshIframe(parentTabEvents);\n}', '$(\"#sev_javascript\").addClass(\'js\');\n\n\n$(\'.js\').on(\'dblclick\', function() {\n nuOpenAce(\'JS\', this.id);\n});\n', NULL, NULL, NULL),
('nupasswordgenerator', 'launch', 'nupasswordgenerator', 'Password Generator', NULL, NULL, '', '', '', 0, 0, '0', NULL, '', 'nuHideHolders(2);\n\nnuAddActionButton(\'use_password\', nuTranslate(\'Use Password\'), \'usePassword();\');\n\nfunction nuPWGenUsePassword() {\n nuHasNotBeenEdited();\n parent.nuSetValue(\'new_password\', pwg_input.value);\n parent.nuSetValue(\'check_password\', pwg_input.value);\n parent.nuClosePopup();\n}\n\n// Function to refresh the generated password\nfunction nuPWGenRefreshPassword() {\n\n const length = parseInt(nuGetValue(\'pwg_length\')) || 15;\n const upperBox = document.getElementById(\"pwg_uppercase\").checked;\n const lowerBox = document.getElementById(\"pwg_lowercase\").checked;\n const numberBox = document.getElementById(\"pwg_numbers\").checked;\n const symbolBox = document.getElementById(\"pwg_symbols\").checked;\n\n const arr = nuCharacterArray(symbolBox, numberBox, lowerBox, upperBox);\n if (arr.length === 0) {\n nuSetValue(\"pwg_input\", \"\");\n return;\n }\n\n const password = nuRandomPassword(arr, length);\n nuSetValue(\"pwg_input\", password);\n\n}\n\n// Initial password generation\n$(document).ready(function() {\n $(\"#pwg_range\").attr(\"max\", \"50\");\n nuSetValue(\'pwg_range\', 15);\n nuPWGenRefreshPassword();\n});\n\n\n// generate new password on slider change\ndocument.querySelector(\"#pwg_range\").oninput = () => {\n document.querySelector(\"#pwg_length\").textContent = document.querySelector(\n \"#pwg_length\"\n ).value = document.querySelector(\"#pwg_range\").value;\n nuPWGenRefreshPassword();\n};\n\n', NULL, NULL, 'input[type=range]::-webkit-slider-runnable-track {\n width: 100%;\n height: 10.4px;\n cursor: pointer;\n box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d;\n background: #3071a9;\n border-radius: 1.3px;\n border: 0.2px solid #010101;\n}\n\ninput[type=range]:focus::-webkit-slider-runnable-track {\n background: #367ebd;\n}\n\ninput[type=\"range\"]::-webkit-slider-thumb {\n -webkit-appearance: none;\n appearance: none;\n width: 25px;\n height: 25px;\n border-radius: 50%;\n background: #009fda;\n cursor: pointer;\n margin: -2px; /* alignment fix for Chrome */\n}', '1', NULL),
('nupermissionitem', 'browseedit', 'nupermissionitem', 'Permission Items', NULL, '#pme_ident#|New', 'zzzzsys_permission_item', 'zzzzsys_permission_item_id', '', 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_permission_item', NULL, NULL, NULL, NULL, '1', NULL),
('nuuserpermission', 'subform', 'nuuserpermission', 'User Permission Items', NULL, NULL, 'zzzzsys_user_permission', 'zzzzsys_user_permission_id', '', 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_user_permission', NULL, NULL, NULL, NULL, NULL, NULL),
('nuphp', 'browseedit', 'nuphp', 'PHP', NULL, '#sph_code#|New', 'zzzzsys_php', 'zzzzsys_php_id', '', 0, 0, '0', NULL, 'SELECT * FROM zzzzsys_php\nLEFT JOIN zzzzsys_form ON zzzzsys_form_id = sph_zzzzsys_form_id\nWHERE sph_description = \'SYSTEM PHP\' AND (LEFT(sph_code, 2) <> \'nu\' OR \'#DEV_MODE#\' = \'1\')\nORDER BY sph_code', NULL, 'if (parent.nuCurrentProperties().form_id == \'nuaccess\') {\n $(\'#nuBreadcrumb0\').html(nuTranslate(\'Procedures\'));\n}\n\n\nnuDevMode();', 'nuHide(\'sph_code_snippet_select_lookupcode\');\n\n// Code Snippets form\nnuSetSnippetFormFilter(0, 0, 0, 1); // PHP Code\n\nvar recordId = nuRecordId();\nvar recordIdSuffix = recordId.slice(-2);\n\nwindow.nuImages = parent.nuImages;\nwindow.nuHelp = \'Functions\';\n\n$(\'#nuCloneButton\').remove();\n\nvar title = nuEventName() + \' - \' + recordId;\nif (nuIsIframe()) {\n $(\'#nuBreadcrumb0\').html(title);\n} else {\n nuSetTitle(title);\n}\n\nnuAttachButtonImage(\'icon\', recordIdSuffix);\nnuSetValue(\'sph_code\', recordId);\nnuHide(\'sph_code\');\nsetStyles();\n\n$(\'.nuSaveButtonEdited\').removeClass(\'nuSaveButtonEdited\');\n\n$(\'#sph_php\')\n.addClass(\'php\')\n.on(\'dblclick\', function() {\n nuOpenAce(\'PHP\', this.id);\n});\n\n$(function() {\n $(\'#sph_php\').scrollTop(window.scrollTop);\n});\n\nnuHasNotBeenEdited();\n\nfunction setStyles() {\n\n $(\'#sph_php\')\n .css(\'padding\', \'3px 3px 3px 3px\')\n .trigger(\"focus\");\n\n}\n\n\nfunction nuBeforeSave() {\n\n if (nuFormType() == \'edit\') {\n window.scrollTop = $(\'#sph_php\').scrollTop();\n }\n\n return true;\n\n}', NULL, '1', NULL);
-- --------------------------------------------------------
--
-- Table structure for table `zzzzsys_format`
--
CREATE TABLE `zzzzsys_format` (
`zzzzsys_format_id` varchar(25) NOT NULL,
`srm_type` varchar(10) DEFAULT NULL,
`srm_format` varchar(300) DEFAULT NULL,
`srm_currency` varchar(25) DEFAULT NULL,
`srm_json` mediumtext
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3;
--
-- Dumping data for table `zzzzsys_format`
--
INSERT INTO `zzzzsys_format` (`zzzzsys_format_id`, `srm_type`, `srm_format`, `srm_currency`, `srm_json`) VALUES
('nu59e28f061a779da', 'Number', '$ 1,000.00', '[\"$\",\",\",\".\",\"2\"]', NULL),
('nu5d8a9b303b55b6d', 'Date', 'dd-mm-yy', NULL, NULL),
('nu5d8a9b47ac4f5ae', 'Number', ' 1000.00', '[\"\",\"\",\".\",2]', NULL),
('nu5fdfc72e7021ccf', 'Date', 'yyyy-mm-dd', NULL, NULL),
('nu62fb20c1f13fd44', 'Date', 'dd.mm.yyyy', NULL, NULL);
-- --------------------------------------------------------
--
-- Table structure for table `zzzzsys_info`
--
CREATE TABLE `zzzzsys_info` (
`zzzzsys_info_id` varchar(25) NOT NULL DEFAULT '',
`inf_code` varchar(255) DEFAULT NULL,
`inf_details` varchar(255) DEFAULT NULL,
`inf_json` mediumtext
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3;
--
-- Dumping data for table `zzzzsys_info`
--
INSERT INTO `zzzzsys_info` (`zzzzsys_info_id`, `inf_code`, `inf_details`, `inf_json`) VALUES
('nu5fe23e83aea3466', 'nuDBVersion', 'V.4.5-2024.10.25.00', NULL),
('nu5fe23e83aea3467', 'nuFilesVersion', 'V.4.5-2024.10.23.02', NULL);
-- --------------------------------------------------------
--
-- Table structure for table `zzzzsys_note`
--
CREATE TABLE `zzzzsys_note` (
`zzzzsys_note_id` varchar(25) NOT NULL,
`not_title` varchar(60) NOT NULL,
`not_content` mediumtext,
`not_updated_on` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
`not_zzzzsys_note_category_id` varchar(25) DEFAULT NULL,
`not_json` mediumtext
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3;
-- --------------------------------------------------------
--
-- Table structure for table `zzzzsys_note_category`
--
CREATE TABLE `zzzzsys_note_category` (
`zzzzsys_note_category_id` varchar(25) NOT NULL,
`noc_name` varchar(1000) DEFAULT NULL,
`hoc_json` mediumtext
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3;
-- --------------------------------------------------------
--
-- Table structure for table `zzzzsys_object`
--
CREATE TABLE `zzzzsys_object` (
`zzzzsys_object_id` varchar(25) NOT NULL,
`sob_all_zzzzsys_form_id` varchar(25) DEFAULT NULL,
`sob_all_table` varchar(300) DEFAULT NULL,
`sob_all_type` varchar(20) DEFAULT NULL,
`sob_all_id` varchar(300) DEFAULT NULL,
`sob_all_label` varchar(1000) DEFAULT NULL,
`sob_all_zzzzsys_tab_id` varchar(25) DEFAULT NULL,
`sob_all_order` int DEFAULT '0',
`sob_all_top` int DEFAULT NULL,
`sob_all_left` int DEFAULT NULL,
`sob_all_width` int DEFAULT NULL,
`sob_all_height` int DEFAULT NULL,
`sob_all_cloneable` varchar(1) DEFAULT NULL,
`sob_all_align` varchar(10) DEFAULT NULL,
`sob_all_validate` varchar(1) DEFAULT NULL,
`sob_all_access` varchar(1) DEFAULT NULL,
`sob_all_access_condition` varchar(1000) DEFAULT NULL,
`sob_all_event` varchar(1) DEFAULT NULL,
`sob_all_style_type` varchar(15) DEFAULT NULL,
`sob_all_style` varchar(1000) DEFAULT NULL,
`sob_calc_formula` varchar(3000) DEFAULT NULL,
`sob_calc_format` varchar(30) DEFAULT NULL,
`sob_run_zzzzsys_form_id` varchar(50) DEFAULT NULL,
`sob_run_filter` varchar(300) DEFAULT NULL,
`sob_run_method` varchar(1) DEFAULT NULL,
`sob_run_target` varchar(1) DEFAULT NULL,
`sob_run_type` varchar(1) DEFAULT NULL,
`sob_run_id` varchar(50) DEFAULT NULL,
`sob_display_sql` text,
`sob_display_procedure` varchar(25) DEFAULT NULL,
`sob_select_multiple` varchar(1) DEFAULT NULL,
`sob_select_2` varchar(1) DEFAULT '0',
`sob_select_sql` text,
`sob_lookup_code` varchar(50) DEFAULT NULL,
`sob_lookup_description` varchar(300) DEFAULT NULL,
`sob_lookup_description_width` varchar(4) DEFAULT NULL,
`sob_lookup_autocomplete` varchar(1) DEFAULT NULL,
`sob_lookup_zzzzsys_form_id` varchar(50) DEFAULT NULL,
`sob_lookup_javascript` text,
`sob_lookup_php` varchar(25) DEFAULT NULL,
`sob_lookup_table` varchar(500) DEFAULT NULL,
`sob_subform_zzzzsys_form_id` varchar(50) DEFAULT NULL,
`sob_subform_foreign_key` varchar(100) DEFAULT NULL,
`sob_subform_add` varchar(1) DEFAULT NULL,
`sob_subform_delete` varchar(1) DEFAULT NULL,
`sob_subform_type` varchar(10) DEFAULT NULL,
`sob_subform_table` varchar(300) DEFAULT NULL,
`sob_input_count` varchar(15) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL,
`sob_input_format` varchar(30) DEFAULT NULL,
`sob_input_type` varchar(30) DEFAULT NULL,
`sob_input_icon` varchar(50) DEFAULT NULL,
`sob_input_javascript` text,
`sob_input_datalist` text,
`sob_input_attribute` varchar(1000) DEFAULT NULL,
`sob_input_file_target` varchar(1) NOT NULL DEFAULT '0',
`sob_html_code` longtext,
`sob_html_chart_type` varchar(70) DEFAULT NULL,
`sob_html_javascript` varchar(1000) DEFAULT NULL,
`sob_html_title` varchar(70) DEFAULT NULL,
`sob_html_vertical_label` varchar(70) DEFAULT NULL,
`sob_html_horizontal_label` varchar(70) DEFAULT NULL,
`sob_image_zzzzsys_file_id` varchar(25) DEFAULT NULL,
`sob_all_json` mediumtext,
`sob_json` mediumtext
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3;
--
-- Dumping data for table `zzzzsys_object`
--
INSERT INTO `zzzzsys_object` (`zzzzsys_object_id`, `sob_all_zzzzsys_form_id`, `sob_all_table`, `sob_all_type`, `sob_all_id`, `sob_all_label`, `sob_all_zzzzsys_tab_id`, `sob_all_order`, `sob_all_top`, `sob_all_left`, `sob_all_width`, `sob_all_height`, `sob_all_cloneable`, `sob_all_align`, `sob_all_validate`, `sob_all_access`, `sob_all_access_condition`, `sob_all_event`, `sob_all_style_type`, `sob_all_style`, `sob_calc_formula`, `sob_calc_format`, `sob_run_zzzzsys_form_id`, `sob_run_filter`, `sob_run_method`, `sob_run_target`, `sob_run_type`, `sob_run_id`, `sob_display_sql`, `sob_display_procedure`, `sob_select_multiple`, `sob_select_2`, `sob_select_sql`, `sob_lookup_code`, `sob_lookup_description`, `sob_lookup_description_width`, `sob_lookup_autocomplete`, `sob_lookup_zzzzsys_form_id`, `sob_lookup_javascript`, `sob_lookup_php`, `sob_lookup_table`, `sob_subform_zzzzsys_form_id`, `sob_subform_foreign_key`, `sob_subform_add`, `sob_subform_delete`, `sob_subform_type`, `sob_subform_table`, `sob_input_count`, `sob_input_format`, `sob_input_type`, `sob_input_icon`, `sob_input_javascript`, `sob_input_datalist`, `sob_input_attribute`, `sob_input_file_target`, `sob_html_code`, `sob_html_chart_type`, `sob_html_javascript`, `sob_html_title`, `sob_html_vertical_label`, `sob_html_horizontal_label`, `sob_image_zzzzsys_file_id`, `sob_all_json`, `sob_json`) VALUES
('nu59e446589a1fc46', 'nusample', NULL, 'html', 'htmlsample', '|HTML', 'nu5bad6cb370eb06a', 120, 224, 261, 176, 45, '1', 'right', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'N|$ 1,000.00', NULL, NULL, NULL, NULL, NULL, '0', '<div id=\'adiv\' style=\'text-align:center;width:117px;height:45px;border:1px solid red;\' class=\'nuBreadcrumb\'>\n Hello World\n</div>', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu59e446589a370ca', 'nusample', NULL, 'input', 'inputtextsample', '|Text', 'nu5bad6cb373c384f', 10, 227, 238, 300, 22, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu59e446589a4d76a', 'nusample', NULL, 'display', 'displaysample', '|Display', 'nu5bad6cb370eb06a', 130, 129, 261, 137, 22, '1', 'right', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'SELECT COUNT(*) FROM zzzzsys_debug', NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'N|$ 1,000.00', NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu59e446589a6400f', 'nusample', NULL, 'select', 'selectsample', '|Select', 'nu5bad6cb370eb06a', 200, 274, 261, 80, 22, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', '0|No|1|Yes', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu59e446589a848cc', 'nusample', NULL, 'word', 'bottomcorner', '', 'nu5bad6cb370eb06a', 220, 588, 595, 20, 22, '1', 'left', '0', '2', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu59e446589a9b145', 'nusample', NULL, 'select', 'selectmultiselectsample', '|Multiselect', 'nu5bad6cb370eb06a', 210, 331, 261, 117, 56, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '0', 'SELECT zzzzsys_format_id, srm_format FROM zzzzsys_format ORDER BY srm_type', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu59e446589ab1797', 'nusample', NULL, 'lookup', 'lookupsample', '|Lookup', 'nu5bad6cb370eb06a', 140, 177, 261, 70, 22, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, 'sal_zzzzsys_form_id', 'sal_code', '150', NULL, 'nuaccess', NULL, NULL, 'zzzzsys_access', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '[\'North\',\'South\',\'East\',\'West\']', NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu59e446589ac75be', 'nusample', NULL, 'word', 'wordsample', '|Word', 'nu5bad6cb370eb06a', 180, 33, 261, 117, 22, '1', 'center', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu59e446589adce4d', 'nusample', NULL, 'input', 'inputbuttonsample', '|Run', 'nu5bad6cb373c384f', 90, 42, 238, 117, 31, '1', 'center', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'N|$ 1,000.00', 'button', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu59e446589af5d86', 'nusample', NULL, 'input', 'inputnumbersample', '|Number', 'nu5bad6cb373c384f', 40, 467, 238, 55, 22, '1', 'right', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'N|$ 1,000.00', 'number', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu59e446589b0af4c', 'nusample', NULL, 'input', 'inputnudatesample', '|nuDate', 'nu5bad6cb373c384f', 20, 347, 238, 95, 22, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'D|dd-mm-yyyy', 'nuDate', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu59e446589b20a14', 'nusample', NULL, 'input', 'inputnunumbersample', '|nuNumber', 'nu5bad6cb373c384f', 30, 407, 238, 90, 22, '1', 'right', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'N|1000.00', 'nuNumber', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu59e446589b3714b', 'nusample', NULL, 'calc', 'calcsample', '|Calc', 'nu5bad6cb370eb06a', 170, 81, 261, 98, 22, '1', 'right', '0', '0', NULL, NULL, NULL, NULL, 'nuTotal(\'inputnunumbersample\') + nuTotal(\'inputnumbersample\')', 'N|1000.00', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu59e446589b4c69b', 'nusample', NULL, 'input', 'inputcheckboxsample', '|Checkbox', 'nu5bad6cb373c384f', 70, 107, 238, 16, 22, '1', 'right', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'N|$ 1,000.00', 'checkbox', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu59e446589b61190', 'nusample', NULL, 'input', 'inputnuscrollsample', '|nuScroll', 'nu5bad6cb373c384f', 80, 287, 238, 176, 22, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'N|$ 1,000.00', 'nuScroll', NULL, '[\'North\',\'South\',\'East\',\'West\']', NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu59e446589b75a6d', 'nusample', NULL, 'textarea', 'textareasample', '|Textarea', 'nu5bad6cb370eb06a', 150, 407, 261, 195, 64, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '[\'North\',\'South\',\'East\',\'West\']', NULL, 'spellcheck=false', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu59e446589b8b4a1', 'nusample', NULL, 'word', 'labelword', '|Word', 'nu5bad6cb370eb06a', 190, 33, 214, 40, 22, '1', 'right', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu59e446589bce3d7', 'nusample', NULL, 'input', 'inputnuautonumbersample', '|nuAutoNumber', 'nu5bad6cb373c384f', 50, 167, 238, 73, 22, '1', 'right', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1000', 'N|$ 1,000.00', 'nuAutoNumber', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu59e446589cf91a2', 'nusample', NULL, 'input', 'inputfilesample', '|File', 'nu5bad6cb373c384f', 60, 527, 238, 300, 66, '1', 'right', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '89', 'N|$ 1,000.00', 'file', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu59e446589d1c64d', 'nusample', NULL, 'image', 'imagesample', '|Image', 'nu5bad6cb370eb06a', 160, 507, 261, 156, 85, '1', 'left', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, 'nu5bad6cb37d02d01', NULL, NULL),
('nu59e44658a0c7724', 'nusample', NULL, 'subform', 'subformsample', 'Subform', 'nu5bad6cb3732c76e', 110, 53, 260, 300, 250, '1', 'right', '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'nusamplesubformform', 'zzzzsys_debug_id', '1', '1', 'g', NULL, '89', NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu59e44658a2b25af', 'nusample', NULL, 'word', 'labelbutton', '|Button', 'nu5bad6cb373c384f', 100, 42, 114, 40, 22, '1', 'right', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb325c8954', 'nuobject', 'zzzzsys_object', 'subform', 'zzzzsys_event_sf', ' ', 'nu5bad6cb370b409e', 1240, 30, 24, 966, 507, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, 'b', '0', NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'zzzzsys_tab', 'nuevent', 'sev_zzzzsys_object_id', '1', '1', 'g', 'zzzzsys_event', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb326243f9', 'nupassword', 'zzzzsys_user', 'display', 'the_user', '', 'nu5bad6cb36ed494f', 20, 70, 218, 200, 22, '1', 'center', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'SELECT sus_login_name\nFROM zzzzsys_user\nWHERE zzzzsys_user_id = \'#USER_ID#\'', NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb3263f2a8', 'nuform', 'zzzzsys_form', 'select', 'sfo_type', 'Form Type', 'nu5bad6cb36791fd5', 20, 42, 182, 140, 22, '1', 'left', '1', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'browse|Browse|\nedit|Edit|browseedit|\nBrowse and Edit|\nlaunch|Launch|\nsubform|Subform', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb3265cea1', 'nuform', 'zzzzsys_form', 'input', 'sfo_code', 'Code', 'nu5bad6cb36791fd5', 30, 70, 182, 285, 22, '1', 'left', '3', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', 'browse|Browse|edit|Edit|browseedit|Browse and Edit|criteria|Criteria or Home|procedure|Procedure|report|Report', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb32680d97', 'nuform', 'zzzzsys_form', 'input', 'sfo_description', 'Description', 'nu5bad6cb36791fd5', 40, 98, 182, 377, 22, '1', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', 'browse|Browse|edit|Edit|browseedit|Browse and Edit|criteria|Criteria or Home|procedure|Procedure|report|Report', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb326a4367', 'nuform', 'zzzzsys_form', 'select', 'sfo_table', 'Table Name', 'nu5bad6cb36791fd5', 70, 182, 182, 292, 22, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'n', NULL, NULL, NULL, NULL, '0', '1', 'SELECT table_name as a, table_name as b \nFROM INFORMATION_SCHEMA.TABLES \nWHERE table_schema = DATABASE()\nORDER BY table_name', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb326ddb36', 'nuform', 'zzzzsys_form', 'display', 'sfo_primary_key_display', 'Primary Key', 'nu5bad6cb36791fd5', 150, 207, 182, 285, 22, '1', 'left', '0', '2', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'n', NULL, NULL, 'SELECT column_name\nFROM information_schema.columns\nWHERE table_name = \'#sfo_table#\'\nAND table_schema = database()\nAND COLUMN_KEY = \'PRI\'', NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb327181a4', 'nuform', 'zzzzsys_form', 'input', 'sfo_browse_row_height', 'Row Height', 'nu5bad6cb36757b92', 200, 41, 145, 50, 22, '1', 'right', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', 'browse|Browse|edit|Edit|browseedit|Browse and Edit|criteria|Criteria or Home|procedure|Procedure|report|Report', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'number', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb32737662', 'nuform', 'zzzzsys_form', 'input', 'sfo_browse_rows_per_page', 'Rows Per Page', 'nu5bad6cb36757b92', 210, 42, 351, 50, 22, '1', 'right', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', 'browse|Browse|edit|Edit|browseedit|Browse and Edit|criteria|Criteria or Home|procedure|Procedure|report|Report', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'number', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb3275e50e', 'nuform', 'zzzzsys_form', 'lookup', 'sfo_browse_redirect_form_id', 'Redirect To', 'nu5bad6cb36757b92', 240, 318, 145, 180, 22, '1', 'right', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'SELECT zzzzsys_form_id, CONCAT(sfo_code, \' - \', sfo_description)\nFROM zzzzsys_form\nORDER BY sfo_code', 'sfo_code', 'sfo_description', '280', NULL, 'nuform', NULL, NULL, 'zzzzsys_form', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb3278653c', 'nuform', 'zzzzsys_form', 'textarea', 'sfo_browse_sql', 'SQL', 'nu5bad6cb36757b92', 190, 384, 145, 981, 139, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'spellcheck=false, data-nu-mobile-max-width=350px,placeholder=\"SQL\"', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb327ab3b8', 'nuform', 'zzzzsys_form', 'subform', 'zzzzsys_browse_sf', 'Columns', 'nu5bad6cb36757b92', 180, 78, 145, 993, 228, '1', 'right', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'nubrowse', 'sbr_zzzzsys_form_id', '1', '1', 'g', 'zzzzsys_browse', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb327ca554', 'nubrowse', 'zzzzsys_browse', 'input', 'sbr_title', 'Title', 'nu5bad6cb3683fa36', 10, 8, 69, 300, 20, '1', 'left', '1', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb327ee8dc', 'nubrowse', 'zzzzsys_browse', 'input', 'sbr_display', 'Display', 'nu5bad6cb3683fa36', 20, 34, 69, 348, 22, '1', 'left', '1', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'search', NULL, NULL, '[]', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb328350f1', 'nubrowse', 'zzzzsys_browse', 'select', 'sbr_align', 'Align', 'nu5bad6cb3683fa36', 30, 60, 69, 65, 20, '1', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'l|Left|r|Right|c|Center', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb32856f55', 'nubrowse', 'zzzzsys_browse', 'select', 'sbr_format', 'Format', 'nu5bad6cb3683fa36', 40, 86, 69, 100, 20, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'SELECT \n CONCAT(LEFT(srm_type, 1), \'|\', TRIM(srm_format)) AS a, \n srm_format AS b \nFROM zzzzsys_format\nORDER BY srm_type', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb328796fe', 'nubrowse', 'zzzzsys_browse', 'input', 'sbr_width', 'Width', 'nu5bad6cb3683fa36', 50, 112, 69, 50, 20, '1', 'right', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'number', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb3289c6f6', 'nubrowse', 'zzzzsys_browse', 'input', 'sbr_order', 'Order', 'nu5bad6cb3683fa36', 60, 138, 69, 50, 20, '1', 'right', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'number', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb328be090', 'nuform', 'zzzzsys_form', 'subform', 'zzzzsys_tab_sf', 'Tabs', 'nu5bad6cb36791fd5', 110, 274, 182, 952, 232, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'nutab', 'syt_zzzzsys_form_id', '1', '1', 'g', 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb328dde63', 'nutab', 'zzzzsys_tab', 'input', 'syt_title', 'Title', 'nu5bad6cb36c9250f', 10, 10, 100, 180, 20, '1', 'left', '1', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb328f889b', 'nutab', 'zzzzsys_tab', 'input', 'syt_order', 'Order', 'nu5bad6cb36c9250f', 20, 31, 100, 46, 20, '1', 'right', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'number', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb329136ba', 'nuform', 'zzzzsys_form', 'input', 'bb_event', 'Before Browse', 'nu5bad6cb37026348', 370, 237, 42, 177, 29, '1', 'center', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb32930450', 'nubuildreport', 'zzzzsys_report', 'input', 'open_builder', 'Report Designer', 'nu5bad6cb36804778', 80, 204, 236, 186, 40, '1', 'center', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'button', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb3295b165', 'nubuildreport', 'zzzzsys_report', 'textarea', 'sre_layout', 'Layout', 'nu5bad6cb36804778', 90, 253, 236, 300, 100, '1', 'left', '0', '2', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'spellcheck=false', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb32976d5d', 'nuform', 'zzzzsys_form', 'textarea', 'sfo_javascript', '', 'nu5bad6cb37026348', 310, 60, 266, 858, 467, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'spellcheck=false,data-custom-code-textarea, data-nu-mobile-max-width=350px,data-nu-mobile-max-height=400px', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb3299aecf', 'nuprocedure', 'zzzzsys_php', 'lookup', 'sph_zzzzsys_form_id', 'Launch From', 'nu5bad6cb36b27343', 50, 118, 142, 283, 22, '1', 'left', '0', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'SELECT zzzzsys_form_id, CONCAT(sfo_code, \' - \', sfo_description)\r\nFROM zzzzsys_form\r\nORDER BY sfo_code', 'sfo_code', 'sfo_description', '300', NULL, 'nulaunchable', NULL, NULL, 'zzzzsys_form', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb329dcb6e', 'nuobject', 'zzzzsys_object', 'lookup', 'sob_all_zzzzsys_tab_id', 'Form Tab', 'nu5bad6cb3686cb0d', 40, 30, 159, 140, 22, '1', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, 'syt_title', 'sfo_description', '272', '0', 'nutablookup', 'nuObjectUpdateIdDatalist();', NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb329fdf13', 'nuobject', 'zzzzsys_object', 'select', 'sob_all_type', 'Type', 'nu5bad6cb3686cb0d', 50, 57, 159, 144, 22, '1', 'left', '1', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'input|Input|\nselect|Select|\nlookup|Lookup|\nrun|Run|\ntextarea|Textarea|\nword|Word|\ncalc|Calc|\ndisplay|Display|\nhtml|HTML|\nimage|Image|\nsubform|Subform|\ncontentbox|ContentBox|\neditor|WYSIWYG Editor', NULL, NULL, NULL, '0', NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb32a1c004', 'nuobject', 'zzzzsys_object', 'input', 'sob_all_id', 'ID', 'nu5bad6cb3686cb0d', 70, 111, 159, 324, 22, '1', 'left', '1', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'n', NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'search', NULL, NULL, '[]', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb32a36c23', 'nuobject', 'zzzzsys_object', 'input', 'sob_all_label', 'Label', 'nu5bad6cb3686cb0d', 60, 84, 159, 439, 22, '1', 'left', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, 'data-nu-mobile-max-width=350px', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb32a5798c', 'nuobject', 'zzzzsys_object', 'input', 'sob_all_order', 'Tabbing Order', 'nu5bad6cb3686cb0d', 540, 57, 0, 72, 22, '1', 'right', '0', '2', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'text', NULL, NULL, NULL, 'data-nu-mobile-hidden', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb32a7637b', 'nuobject', 'zzzzsys_object', 'input', 'sob_all_top', 'Top', 'nu5bad6cb3686cb0d', 100, 206, 159, 50, 22, '1', 'right', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'number', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb32a9998f', 'nuobject', 'zzzzsys_object', 'input', 'sob_all_left', 'Left', 'nu5bad6cb3686cb0d', 110, 235, 159, 50, 22, '1', 'right', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'number', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb32abf6a9', 'nuobject', 'zzzzsys_object', 'input', 'sob_all_width', 'Width', 'nu5bad6cb3686cb0d', 120, 264, 159, 50, 22, '1', 'right', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'number', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb32ae0077', 'nuobject', 'zzzzsys_object', 'input', 'sob_all_height', 'Height', 'nu5bad6cb3686cb0d', 130, 293, 159, 50, 22, '1', 'right', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'number', NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb32b06a65', 'nuobject', 'zzzzsys_object', 'select', 'sob_all_cloneable', 'Cloneable', 'nu5bad6cb3686cb0d', 180, 453, 159, 182, 22, '1', 'right', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', '0|No|1|Yes', NULL, NULL, NULL, '0', NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb32b263c1', 'nuobject', 'zzzzsys_object', 'select', 'sob_all_align', 'Align', 'nu5bad6cb3686cb0d', 160, 395, 159, 182, 22, '1', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', 'left|Left|right|Right|center|Center', NULL, NULL, NULL, '0', NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb32b417d0', 'nuobject', 'zzzzsys_object', 'select', 'sob_all_validate', 'Validation', 'nu5bad6cb3686cb0d', 170, 424, 159, 182, 22, '1', 'left', '1', '0', NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', '0|None|1|No Blanks|2|No Duplicates|3|No Duplicates/Blanks', NULL, NULL, NULL, '0', NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb32b5c449', 'nuobject', 'zzzzsys_object', 'select', 'sob_all_access', 'Access', 'nu5bad6cb3686cb0d', 140, 366, 159, 182, 22, '1', 'center', '1', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', '0|0: Editable/Visible|\n1|1: Readonly|\n2|2: Hidden|\n3|3: Hidden (User)|\n4|4: Hidden (User) + Readonly|\n9|Condition', NULL, NULL, NULL, '0', NULL, NULL, NULL, 'zzzzsys_tab', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb32b77005', 'nuobject', 'zzzzsys_object', 'word', 'calctotwrd', 'Objects', 'nu5bad6cb36f99a7e', 1200, 192, 80, 343, 17, '1', 'center', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),
('nu5bad6cb32b9715a', 'nuobject', 'zzzzsys_object', 'word', 'calcfldwrd', 'Operators', 'nu5bad6cb36f99a7e', 1220, 192, 540, 151, 17, '1', 'center', '0', '0', NULL, '1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '0', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL),