@saltcorn/data 0.9.4-beta.8 → 0.9.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/base-plugin/actions.d.ts +137 -71
- package/dist/base-plugin/actions.d.ts.map +1 -1
- package/dist/base-plugin/actions.js +105 -22
- package/dist/base-plugin/actions.js.map +1 -1
- package/dist/base-plugin/fieldviews.d.ts.map +1 -1
- package/dist/base-plugin/fieldviews.js +19 -9
- package/dist/base-plugin/fieldviews.js.map +1 -1
- package/dist/base-plugin/fileviews.d.ts +13 -0
- package/dist/base-plugin/fileviews.js +42 -2
- package/dist/base-plugin/fileviews.js.map +1 -1
- package/dist/base-plugin/index.d.ts +208 -204
- package/dist/base-plugin/index.d.ts.map +1 -1
- package/dist/base-plugin/types.d.ts.map +1 -1
- package/dist/base-plugin/types.js +25 -10
- package/dist/base-plugin/types.js.map +1 -1
- package/dist/base-plugin/viewtemplates/edit.d.ts +4 -1
- package/dist/base-plugin/viewtemplates/edit.d.ts.map +1 -1
- package/dist/base-plugin/viewtemplates/edit.js +181 -81
- package/dist/base-plugin/viewtemplates/edit.js.map +1 -1
- package/dist/base-plugin/viewtemplates/feed.d.ts.map +1 -1
- package/dist/base-plugin/viewtemplates/feed.js +4 -1
- package/dist/base-plugin/viewtemplates/feed.js.map +1 -1
- package/dist/base-plugin/viewtemplates/filter.d.ts.map +1 -1
- package/dist/base-plugin/viewtemplates/filter.js +89 -7
- package/dist/base-plugin/viewtemplates/filter.js.map +1 -1
- package/dist/base-plugin/viewtemplates/list.d.ts +3 -2
- package/dist/base-plugin/viewtemplates/list.d.ts.map +1 -1
- package/dist/base-plugin/viewtemplates/list.js +274 -38
- package/dist/base-plugin/viewtemplates/list.js.map +1 -1
- package/dist/base-plugin/viewtemplates/show.d.ts.map +1 -1
- package/dist/base-plugin/viewtemplates/show.js +116 -56
- package/dist/base-plugin/viewtemplates/show.js.map +1 -1
- package/dist/base-plugin/viewtemplates/viewable_fields.d.ts +4 -3
- package/dist/base-plugin/viewtemplates/viewable_fields.d.ts.map +1 -1
- package/dist/base-plugin/viewtemplates/viewable_fields.js +173 -57
- package/dist/base-plugin/viewtemplates/viewable_fields.js.map +1 -1
- package/dist/db/connect.d.ts.map +1 -1
- package/dist/db/connect.js +20 -0
- package/dist/db/connect.js.map +1 -1
- package/dist/db/fixtures.d.ts.map +1 -1
- package/dist/db/fixtures.js +196 -30
- package/dist/db/fixtures.js.map +1 -1
- package/dist/db/state.d.ts +5 -0
- package/dist/db/state.d.ts.map +1 -1
- package/dist/db/state.js +20 -0
- package/dist/db/state.js.map +1 -1
- package/dist/migrate.d.ts +1 -0
- package/dist/migrate.d.ts.map +1 -1
- package/dist/migrate.js +6 -3
- package/dist/migrate.js.map +1 -1
- package/dist/migrations/202402071125.d.ts +2 -0
- package/dist/migrations/202402071125.d.ts.map +1 -0
- package/dist/migrations/202402071125.js +4 -0
- package/dist/migrations/202402071125.js.map +1 -0
- package/dist/models/config.d.ts.map +1 -1
- package/dist/models/config.js +27 -0
- package/dist/models/config.js.map +1 -1
- package/dist/models/email.d.ts.map +1 -1
- package/dist/models/email.js +6 -2
- package/dist/models/email.js.map +1 -1
- package/dist/models/field.d.ts +1 -1
- package/dist/models/field.d.ts.map +1 -1
- package/dist/models/field.js +4 -4
- package/dist/models/field.js.map +1 -1
- package/dist/models/file.d.ts +2 -0
- package/dist/models/file.d.ts.map +1 -1
- package/dist/models/file.js +9 -0
- package/dist/models/file.js.map +1 -1
- package/dist/models/index.d.ts +1 -1
- package/dist/models/internal/query.d.ts +6 -0
- package/dist/models/internal/query.d.ts.map +1 -0
- package/dist/models/internal/query.js +86 -0
- package/dist/models/internal/query.js.map +1 -0
- package/dist/models/page.d.ts.map +1 -1
- package/dist/models/page.js +4 -0
- package/dist/models/page.js.map +1 -1
- package/dist/models/page_group.d.ts +1 -0
- package/dist/models/page_group.d.ts.map +1 -1
- package/dist/models/page_group.js +1 -0
- package/dist/models/page_group.js.map +1 -1
- package/dist/models/table.d.ts +18 -4
- package/dist/models/table.d.ts.map +1 -1
- package/dist/models/table.js +84 -52
- package/dist/models/table.js.map +1 -1
- package/dist/models/tag_entry.d.ts.map +1 -1
- package/dist/models/tag_entry.js +9 -0
- package/dist/models/tag_entry.js.map +1 -1
- package/dist/models/trigger.d.ts +3 -3
- package/dist/models/trigger.d.ts.map +1 -1
- package/dist/models/trigger.js +69 -7
- package/dist/models/trigger.js.map +1 -1
- package/dist/models/user.d.ts.map +1 -1
- package/dist/models/user.js +5 -4
- package/dist/models/user.js.map +1 -1
- package/dist/models/view.d.ts +1 -0
- package/dist/models/view.d.ts.map +1 -1
- package/dist/models/view.js +6 -0
- package/dist/models/view.js.map +1 -1
- package/dist/plugin-helper.d.ts +7 -19
- package/dist/plugin-helper.d.ts.map +1 -1
- package/dist/plugin-helper.js +79 -70
- package/dist/plugin-helper.js.map +1 -1
- package/dist/tests/actions.test.js +143 -2
- package/dist/tests/actions.test.js.map +1 -1
- package/dist/tests/auth.test.js +101 -1
- package/dist/tests/auth.test.js.map +1 -1
- package/dist/tests/auxtest.test.js +4 -0
- package/dist/tests/auxtest.test.js.map +1 -1
- package/dist/tests/calc.test.js +20 -0
- package/dist/tests/calc.test.js.map +1 -1
- package/dist/tests/edit.test.js +558 -0
- package/dist/tests/edit.test.js.map +1 -1
- package/dist/tests/filter.test.d.ts +2 -0
- package/dist/tests/filter.test.d.ts.map +1 -0
- package/dist/tests/filter.test.js +438 -0
- package/dist/tests/filter.test.js.map +1 -0
- package/dist/tests/list.test.d.ts +2 -0
- package/dist/tests/list.test.d.ts.map +1 -0
- package/dist/tests/list.test.js +903 -0
- package/dist/tests/list.test.js.map +1 -0
- package/dist/tests/show.test.d.ts +2 -0
- package/dist/tests/show.test.d.ts.map +1 -0
- package/dist/tests/show.test.js +325 -0
- package/dist/tests/show.test.js.map +1 -0
- package/dist/tests/table.test.js +213 -56
- package/dist/tests/table.test.js.map +1 -1
- package/dist/tests/table_history.test.js +51 -0
- package/dist/tests/table_history.test.js.map +1 -1
- package/dist/tests/tag.test.js +1 -1
- package/dist/tests/tag.test.js.map +1 -1
- package/dist/tests/view.test.js +16 -2
- package/dist/tests/view.test.js.map +1 -1
- package/dist/utils.d.ts +2 -17
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +19 -32
- package/dist/utils.js.map +1 -1
- package/package.json +8 -7
|
@@ -447,7 +447,110 @@ export const types: ({
|
|
|
447
447
|
show: {
|
|
448
448
|
isEdit: boolean;
|
|
449
449
|
description: string;
|
|
450
|
-
run: (
|
|
450
|
+
run: (v: any) => any;
|
|
451
|
+
};
|
|
452
|
+
checkboxes: {
|
|
453
|
+
isEdit: boolean;
|
|
454
|
+
description: string;
|
|
455
|
+
run: (v: any) => any;
|
|
456
|
+
};
|
|
457
|
+
TrueFalse: {
|
|
458
|
+
isEdit: boolean;
|
|
459
|
+
description: string;
|
|
460
|
+
run: (v: any) => "" | "True" | "False";
|
|
461
|
+
};
|
|
462
|
+
edit: {
|
|
463
|
+
isEdit: boolean;
|
|
464
|
+
description: string;
|
|
465
|
+
configFields: ({
|
|
466
|
+
name: string;
|
|
467
|
+
label: string;
|
|
468
|
+
type: string;
|
|
469
|
+
attributes: {
|
|
470
|
+
options: string[];
|
|
471
|
+
};
|
|
472
|
+
} | {
|
|
473
|
+
name: string;
|
|
474
|
+
label: string;
|
|
475
|
+
type: string;
|
|
476
|
+
attributes?: undefined;
|
|
477
|
+
})[];
|
|
478
|
+
run: (nm: any, v: any, attrs: any, cls: any, required: any, field: any) => any;
|
|
479
|
+
};
|
|
480
|
+
switch: {
|
|
481
|
+
isEdit: boolean;
|
|
482
|
+
description: string;
|
|
483
|
+
run: (nm: any, v: any, attrs: any, cls: any, required: any, field: any) => any;
|
|
484
|
+
};
|
|
485
|
+
show_with_html: {
|
|
486
|
+
configFields: {
|
|
487
|
+
input_type: string;
|
|
488
|
+
name: string;
|
|
489
|
+
label: string;
|
|
490
|
+
sublabel: string;
|
|
491
|
+
default: string;
|
|
492
|
+
attributes: {
|
|
493
|
+
mode: string;
|
|
494
|
+
};
|
|
495
|
+
}[];
|
|
496
|
+
isEdit: boolean;
|
|
497
|
+
description: string;
|
|
498
|
+
run: (v: any, req: any, attrs?: {}) => any;
|
|
499
|
+
};
|
|
500
|
+
tristate: {
|
|
501
|
+
isEdit: boolean;
|
|
502
|
+
description: string;
|
|
503
|
+
configFields: {
|
|
504
|
+
name: string;
|
|
505
|
+
label: string;
|
|
506
|
+
type: string;
|
|
507
|
+
}[];
|
|
508
|
+
run: (nm: any, v: any, attrs: any, cls: any, required: any, field: any) => any;
|
|
509
|
+
};
|
|
510
|
+
};
|
|
511
|
+
attributes: object[];
|
|
512
|
+
readFromFormRecord: (rec: any, name: string) => boolean | null;
|
|
513
|
+
read: (v: object) => boolean | null;
|
|
514
|
+
readFromDB: (v: object) => object;
|
|
515
|
+
listAs: (v: object) => object;
|
|
516
|
+
validate: () => boolean;
|
|
517
|
+
} | {
|
|
518
|
+
name: string;
|
|
519
|
+
sql_name: string;
|
|
520
|
+
js_type: string;
|
|
521
|
+
contract: () => Function;
|
|
522
|
+
attributes: object[];
|
|
523
|
+
fieldviews: {
|
|
524
|
+
show: {
|
|
525
|
+
isEdit: boolean;
|
|
526
|
+
description: string;
|
|
527
|
+
run: (d: any, req: any, attrs?: {}) => any;
|
|
528
|
+
};
|
|
529
|
+
showDay: {
|
|
530
|
+
isEdit: boolean;
|
|
531
|
+
description: string;
|
|
532
|
+
run: (d: any, req: any) => any;
|
|
533
|
+
};
|
|
534
|
+
format: {
|
|
535
|
+
isEdit: boolean;
|
|
536
|
+
description: string;
|
|
537
|
+
configFields: {
|
|
538
|
+
name: string;
|
|
539
|
+
label: string;
|
|
540
|
+
type: string;
|
|
541
|
+
sublabel: string;
|
|
542
|
+
}[];
|
|
543
|
+
run: (d: any, req: any, options: any) => any;
|
|
544
|
+
};
|
|
545
|
+
relative: {
|
|
546
|
+
isEdit: boolean;
|
|
547
|
+
description: string;
|
|
548
|
+
run: (d: any, req: any) => string;
|
|
549
|
+
};
|
|
550
|
+
yearsAgo: {
|
|
551
|
+
isEdit: boolean;
|
|
552
|
+
description: string;
|
|
553
|
+
run: (d: any, req: any) => string;
|
|
451
554
|
};
|
|
452
555
|
show_with_html: {
|
|
453
556
|
configFields: {
|
|
@@ -470,9 +573,17 @@ export const types: ({
|
|
|
470
573
|
description: string;
|
|
471
574
|
run: (nm: any, v: any, attrs: any, cls: any, required: any, field: any) => any;
|
|
472
575
|
};
|
|
576
|
+
editDay: {
|
|
577
|
+
isEdit: boolean;
|
|
578
|
+
blockDisplay: boolean;
|
|
579
|
+
description: string;
|
|
580
|
+
run: (nm: any, v: any, attrs: any, cls: any, required: any, field: any) => any;
|
|
581
|
+
};
|
|
473
582
|
};
|
|
474
|
-
|
|
475
|
-
|
|
583
|
+
presets: {
|
|
584
|
+
Now: () => Date;
|
|
585
|
+
};
|
|
586
|
+
read: (v: object, attrs: object) => object;
|
|
476
587
|
validate: () => boolean;
|
|
477
588
|
} | {
|
|
478
589
|
name: string;
|
|
@@ -659,38 +770,11 @@ export const types: ({
|
|
|
659
770
|
sql_name: string;
|
|
660
771
|
js_type: string;
|
|
661
772
|
contract: () => Function;
|
|
662
|
-
attributes: object[];
|
|
663
773
|
fieldviews: {
|
|
664
774
|
show: {
|
|
665
775
|
isEdit: boolean;
|
|
666
776
|
description: string;
|
|
667
|
-
run: (
|
|
668
|
-
};
|
|
669
|
-
showDay: {
|
|
670
|
-
isEdit: boolean;
|
|
671
|
-
description: string;
|
|
672
|
-
run: (d: any, req: any) => any;
|
|
673
|
-
};
|
|
674
|
-
format: {
|
|
675
|
-
isEdit: boolean;
|
|
676
|
-
description: string;
|
|
677
|
-
configFields: {
|
|
678
|
-
name: string;
|
|
679
|
-
label: string;
|
|
680
|
-
type: string;
|
|
681
|
-
sublabel: string;
|
|
682
|
-
}[];
|
|
683
|
-
run: (d: any, req: any, options: any) => any;
|
|
684
|
-
};
|
|
685
|
-
relative: {
|
|
686
|
-
isEdit: boolean;
|
|
687
|
-
description: string;
|
|
688
|
-
run: (d: any, req: any) => string;
|
|
689
|
-
};
|
|
690
|
-
yearsAgo: {
|
|
691
|
-
isEdit: boolean;
|
|
692
|
-
description: string;
|
|
693
|
-
run: (d: any, req: any) => string;
|
|
777
|
+
run: (s: any) => any;
|
|
694
778
|
};
|
|
695
779
|
show_with_html: {
|
|
696
780
|
configFields: {
|
|
@@ -713,155 +797,53 @@ export const types: ({
|
|
|
713
797
|
description: string;
|
|
714
798
|
run: (nm: any, v: any, attrs: any, cls: any, required: any, field: any) => any;
|
|
715
799
|
};
|
|
716
|
-
editDay: {
|
|
717
|
-
isEdit: boolean;
|
|
718
|
-
blockDisplay: boolean;
|
|
719
|
-
description: string;
|
|
720
|
-
run: (nm: any, v: any, attrs: any, cls: any, required: any, field: any) => any;
|
|
721
|
-
};
|
|
722
|
-
};
|
|
723
|
-
presets: {
|
|
724
|
-
Now: () => Date;
|
|
725
|
-
};
|
|
726
|
-
read: (v: object, attrs: object) => object;
|
|
727
|
-
validate: () => boolean;
|
|
728
|
-
} | {
|
|
729
|
-
name: string;
|
|
730
|
-
sql_name: string;
|
|
731
|
-
js_type: string;
|
|
732
|
-
contract: () => Function;
|
|
733
|
-
fieldviews: {
|
|
734
|
-
show: {
|
|
735
|
-
isEdit: boolean;
|
|
736
|
-
description: string;
|
|
737
|
-
run: (v: any) => any;
|
|
738
|
-
};
|
|
739
|
-
checkboxes: {
|
|
740
|
-
isEdit: boolean;
|
|
741
|
-
description: string;
|
|
742
|
-
run: (v: any) => any;
|
|
743
|
-
};
|
|
744
|
-
TrueFalse: {
|
|
745
|
-
isEdit: boolean;
|
|
746
|
-
description: string;
|
|
747
|
-
run: (v: any) => "" | "True" | "False";
|
|
748
|
-
};
|
|
749
|
-
edit: {
|
|
750
|
-
isEdit: boolean;
|
|
751
|
-
description: string;
|
|
752
|
-
configFields: ({
|
|
753
|
-
name: string;
|
|
754
|
-
label: string;
|
|
755
|
-
type: string;
|
|
756
|
-
attributes: {
|
|
757
|
-
options: string[];
|
|
758
|
-
};
|
|
759
|
-
} | {
|
|
760
|
-
name: string;
|
|
761
|
-
label: string;
|
|
762
|
-
type: string;
|
|
763
|
-
attributes?: undefined;
|
|
764
|
-
})[];
|
|
765
|
-
run: (nm: any, v: any, attrs: any, cls: any, required: any, field: any) => any;
|
|
766
|
-
};
|
|
767
|
-
switch: {
|
|
768
|
-
isEdit: boolean;
|
|
769
|
-
description: string;
|
|
770
|
-
run: (nm: any, v: any, attrs: any, cls: any, required: any, field: any) => any;
|
|
771
|
-
};
|
|
772
|
-
show_with_html: {
|
|
773
|
-
configFields: {
|
|
774
|
-
input_type: string;
|
|
775
|
-
name: string;
|
|
776
|
-
label: string;
|
|
777
|
-
sublabel: string;
|
|
778
|
-
default: string;
|
|
779
|
-
attributes: {
|
|
780
|
-
mode: string;
|
|
781
|
-
};
|
|
782
|
-
}[];
|
|
783
|
-
isEdit: boolean;
|
|
784
|
-
description: string;
|
|
785
|
-
run: (v: any, req: any, attrs?: {}) => any;
|
|
786
|
-
};
|
|
787
|
-
tristate: {
|
|
788
|
-
isEdit: boolean;
|
|
789
|
-
description: string;
|
|
790
|
-
configFields: {
|
|
791
|
-
name: string;
|
|
792
|
-
label: string;
|
|
793
|
-
type: string;
|
|
794
|
-
}[];
|
|
795
|
-
run: (nm: any, v: any, attrs: any, cls: any, required: any, field: any) => any;
|
|
796
|
-
};
|
|
797
800
|
};
|
|
798
801
|
attributes: object[];
|
|
799
|
-
|
|
800
|
-
read: (v: object) => boolean | null;
|
|
801
|
-
readFromDB: (v: object) => object;
|
|
802
|
-
listAs: (v: object) => object;
|
|
802
|
+
read: (v: object) => object;
|
|
803
803
|
validate: () => boolean;
|
|
804
804
|
})[];
|
|
805
805
|
export const viewtemplates: ({
|
|
806
806
|
name: string;
|
|
807
807
|
description: string;
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
view_to_create?: string | undefined;
|
|
812
|
-
create_view_display: string;
|
|
813
|
-
create_view_label?: string | undefined;
|
|
814
|
-
default_state?: object | undefined;
|
|
815
|
-
create_view_location?: string | undefined;
|
|
816
|
-
}, stateWithId?: object | undefined, extraOpts: object, { listQuery }: {
|
|
817
|
-
listQuery: any;
|
|
818
|
-
}) => Promise<any>;
|
|
819
|
-
view_quantity: string;
|
|
820
|
-
get_state_fields: (table_id: string, viewname: any, { columns }: {
|
|
808
|
+
get_state_fields: () => object[];
|
|
809
|
+
configuration_workflow: () => import("../models/workflow");
|
|
810
|
+
run: (table_id: number, viewname: string, { columns, layout }: {
|
|
821
811
|
columns: object[];
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
812
|
+
layout: object;
|
|
813
|
+
}, state: object, extra: object, { distinctValuesQuery }: {
|
|
814
|
+
distinctValuesQuery: any;
|
|
815
|
+
}) => Promise<Layout>;
|
|
816
|
+
initial_config: () => Promise<object>;
|
|
817
|
+
display_state_form: boolean;
|
|
818
|
+
getStringsForI18n({ layout }: {
|
|
819
|
+
layout: any;
|
|
820
|
+
}): string[];
|
|
827
821
|
routes: {
|
|
828
|
-
run_action: (table_id:
|
|
829
|
-
|
|
830
|
-
layout: any;
|
|
831
|
-
}, body: object, { req, res }: {
|
|
832
|
-
req: object;
|
|
822
|
+
run_action: (table_id: any, viewname: any, config: any, body: any, { req, res }: {
|
|
823
|
+
req: any;
|
|
833
824
|
res: any;
|
|
834
|
-
}, {
|
|
835
|
-
|
|
836
|
-
}) => Promise<
|
|
825
|
+
}, { actionQuery }: {
|
|
826
|
+
actionQuery: any;
|
|
827
|
+
}) => Promise<any>;
|
|
837
828
|
};
|
|
838
|
-
|
|
839
|
-
default_state_form: ({ default_state }: object) => boolean;
|
|
840
|
-
getStringsForI18n({ columns, create_view_label }: {
|
|
841
|
-
columns: any;
|
|
842
|
-
create_view_label: any;
|
|
843
|
-
}): string[];
|
|
844
|
-
queries: ({ table_id, exttable_name, name, configuration: { columns, default_state }, req, }: {
|
|
829
|
+
queries: ({ table_id, viewname, configuration: { columns }, req, res, exttable_name, }: {
|
|
845
830
|
table_id: any;
|
|
846
|
-
|
|
847
|
-
name: any;
|
|
831
|
+
viewname: any;
|
|
848
832
|
configuration: {
|
|
849
833
|
columns: any;
|
|
850
|
-
default_state: any;
|
|
851
834
|
};
|
|
852
835
|
req: any;
|
|
836
|
+
res: any;
|
|
837
|
+
exttable_name: any;
|
|
853
838
|
}) => {
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
839
|
+
actionQuery(state: any, rndid: any): Promise<{
|
|
840
|
+
json: any;
|
|
841
|
+
}>;
|
|
842
|
+
distinctValuesQuery(state: any): Promise<{
|
|
843
|
+
distinct_values: {};
|
|
844
|
+
role: any;
|
|
857
845
|
}>;
|
|
858
|
-
getRowQuery(id: any): Promise<import("@saltcorn/db-common/internal").Row | null>;
|
|
859
846
|
};
|
|
860
|
-
configCheck: (view: any) => Promise<{
|
|
861
|
-
errors: string[];
|
|
862
|
-
warnings: string[];
|
|
863
|
-
}>;
|
|
864
|
-
connectedObjects: (configuration: any) => Promise<import("@saltcorn/types/base_types").ConnectedObjects>;
|
|
865
847
|
} | {
|
|
866
848
|
name: string;
|
|
867
849
|
description: string;
|
|
@@ -898,6 +880,8 @@ export const viewtemplates: ({
|
|
|
898
880
|
optionsQuery: any;
|
|
899
881
|
getRowByIdQuery: any;
|
|
900
882
|
}, remote: any) => Promise<void>;
|
|
883
|
+
openDataStream: (tableId: any, viewName: any, id: any, fieldName: any, fieldView: any, user: any, configuration: any, targetOpts: any) => Promise<any>;
|
|
884
|
+
authorizeDataStream: (view: any, id: any, fieldName: any, user: any, targetOpts: any) => Promise<boolean>;
|
|
901
885
|
get_state_fields: (table_id: any, viewname: any, { columns }: {
|
|
902
886
|
columns: any;
|
|
903
887
|
}) => Promise<object[]>;
|
|
@@ -919,7 +903,7 @@ export const viewtemplates: ({
|
|
|
919
903
|
getStringsForI18n({ layout }: {
|
|
920
904
|
layout: Layout;
|
|
921
905
|
}): string[];
|
|
922
|
-
queries: ({ table_id, name, configuration: { columns, default_state, layout, auto_save, split_paste, destination_type, }, req, res, }: {
|
|
906
|
+
queries: ({ table_id, name, configuration: { columns, default_state, layout, auto_save, split_paste, destination_type, fixed, }, req, res, }: {
|
|
923
907
|
table_id: any;
|
|
924
908
|
name: any;
|
|
925
909
|
configuration: {
|
|
@@ -929,6 +913,7 @@ export const viewtemplates: ({
|
|
|
929
913
|
auto_save: any;
|
|
930
914
|
split_paste: any;
|
|
931
915
|
destination_type: any;
|
|
916
|
+
fixed: any;
|
|
932
917
|
};
|
|
933
918
|
req: any;
|
|
934
919
|
res: any;
|
|
@@ -1013,6 +998,67 @@ export const viewtemplates: ({
|
|
|
1013
998
|
warnings: string[];
|
|
1014
999
|
}>;
|
|
1015
1000
|
connectedObjects: (configuration: any) => Promise<import("@saltcorn/types/base_types").ConnectedObjects>;
|
|
1001
|
+
} | {
|
|
1002
|
+
name: string;
|
|
1003
|
+
description: string;
|
|
1004
|
+
configuration_workflow: (req: object) => import("../models/workflow");
|
|
1005
|
+
run: (table_id: string | number, viewname: string, { columns, layout, view_to_create, create_view_display, create_view_label, default_state, create_view_location, create_link_style, create_link_size, create_view_showif, }: {
|
|
1006
|
+
columns: object[];
|
|
1007
|
+
view_to_create?: string | undefined;
|
|
1008
|
+
create_view_display: string;
|
|
1009
|
+
create_view_label?: string | undefined;
|
|
1010
|
+
default_state?: object | undefined;
|
|
1011
|
+
create_view_location?: string | undefined;
|
|
1012
|
+
}, stateWithId?: object | undefined, extraOpts: object, { listQuery }: {
|
|
1013
|
+
listQuery: any;
|
|
1014
|
+
}) => Promise<any>;
|
|
1015
|
+
view_quantity: string;
|
|
1016
|
+
get_state_fields: (table_id: string, viewname: any, { columns }: {
|
|
1017
|
+
columns: object[];
|
|
1018
|
+
}) => Function;
|
|
1019
|
+
initial_config: Function;
|
|
1020
|
+
on_delete: (table_id: any, viewname: string, { default_state }: {
|
|
1021
|
+
default_state: any;
|
|
1022
|
+
}) => Promise<void>;
|
|
1023
|
+
routes: {
|
|
1024
|
+
run_action: (table_id: number, viewname: any, { columns, layout }: {
|
|
1025
|
+
columns: object[];
|
|
1026
|
+
layout: any;
|
|
1027
|
+
}, body: object, { req, res }: {
|
|
1028
|
+
req: object;
|
|
1029
|
+
res: any;
|
|
1030
|
+
}, { getRowQuery }: {
|
|
1031
|
+
getRowQuery: any;
|
|
1032
|
+
}) => Promise<object>;
|
|
1033
|
+
};
|
|
1034
|
+
display_state_form: (opts: object) => boolean;
|
|
1035
|
+
default_state_form: ({ default_state }: object) => boolean;
|
|
1036
|
+
getStringsForI18n({ columns, create_view_label }: {
|
|
1037
|
+
columns: any;
|
|
1038
|
+
create_view_label: any;
|
|
1039
|
+
}): string[];
|
|
1040
|
+
queries: ({ table_id, exttable_name, name, configuration: { columns, layout, default_state }, req, }: {
|
|
1041
|
+
table_id: any;
|
|
1042
|
+
exttable_name: any;
|
|
1043
|
+
name: any;
|
|
1044
|
+
configuration: {
|
|
1045
|
+
columns: any;
|
|
1046
|
+
layout: any;
|
|
1047
|
+
default_state: any;
|
|
1048
|
+
};
|
|
1049
|
+
req: any;
|
|
1050
|
+
}) => {
|
|
1051
|
+
listQuery(state: any, stateHash: any): Promise<{
|
|
1052
|
+
rows: import("@saltcorn/db-common/internal").Row[];
|
|
1053
|
+
rowCount: number;
|
|
1054
|
+
}>;
|
|
1055
|
+
getRowQuery(id: any): Promise<import("@saltcorn/db-common/internal").Row | null>;
|
|
1056
|
+
};
|
|
1057
|
+
configCheck: (view: any) => Promise<{
|
|
1058
|
+
errors: string[];
|
|
1059
|
+
warnings: string[];
|
|
1060
|
+
}>;
|
|
1061
|
+
connectedObjects: (configuration: any) => Promise<import("@saltcorn/types/base_types").ConnectedObjects>;
|
|
1016
1062
|
} | {
|
|
1017
1063
|
name: string;
|
|
1018
1064
|
description: string;
|
|
@@ -1164,48 +1210,6 @@ export const viewtemplates: ({
|
|
|
1164
1210
|
countRowsQuery(state: any): Promise<number>;
|
|
1165
1211
|
};
|
|
1166
1212
|
connectedObjects: (configuration: any) => Promise<import("@saltcorn/types/base_types").ConnectedObjects>;
|
|
1167
|
-
} | {
|
|
1168
|
-
name: string;
|
|
1169
|
-
description: string;
|
|
1170
|
-
get_state_fields: () => object[];
|
|
1171
|
-
configuration_workflow: () => import("../models/workflow");
|
|
1172
|
-
run: (table_id: number, viewname: string, { columns, layout }: {
|
|
1173
|
-
columns: object[];
|
|
1174
|
-
layout: object;
|
|
1175
|
-
}, state: object, extra: object, { distinctValuesQuery }: {
|
|
1176
|
-
distinctValuesQuery: any;
|
|
1177
|
-
}) => Promise<Layout>;
|
|
1178
|
-
initial_config: () => Promise<object>;
|
|
1179
|
-
display_state_form: boolean;
|
|
1180
|
-
getStringsForI18n({ layout }: {
|
|
1181
|
-
layout: any;
|
|
1182
|
-
}): string[];
|
|
1183
|
-
routes: {
|
|
1184
|
-
run_action: (table_id: any, viewname: any, config: any, body: any, { req, res }: {
|
|
1185
|
-
req: any;
|
|
1186
|
-
res: any;
|
|
1187
|
-
}, { actionQuery }: {
|
|
1188
|
-
actionQuery: any;
|
|
1189
|
-
}) => Promise<any>;
|
|
1190
|
-
};
|
|
1191
|
-
queries: ({ table_id, viewname, configuration: { columns }, req, res, exttable_name, }: {
|
|
1192
|
-
table_id: any;
|
|
1193
|
-
viewname: any;
|
|
1194
|
-
configuration: {
|
|
1195
|
-
columns: any;
|
|
1196
|
-
};
|
|
1197
|
-
req: any;
|
|
1198
|
-
res: any;
|
|
1199
|
-
exttable_name: any;
|
|
1200
|
-
}) => {
|
|
1201
|
-
actionQuery(state: any, rndid: any): Promise<{
|
|
1202
|
-
json: any;
|
|
1203
|
-
}>;
|
|
1204
|
-
distinctValuesQuery(state: any): Promise<{
|
|
1205
|
-
distinct_values: {};
|
|
1206
|
-
role: any;
|
|
1207
|
-
}>;
|
|
1208
|
-
};
|
|
1209
1213
|
} | {
|
|
1210
1214
|
name: string;
|
|
1211
1215
|
description: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../base-plugin/index.js"],"names":[],"mappings":"AAuCA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAAsD;AACtD
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../base-plugin/index.js"],"names":[],"mappings":"AAuCA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAAsD;AACtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAA2E;;;;4CAG9D,MAAM;yCAYN,MAAM"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../base-plugin/types.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../base-plugin/types.js"],"names":[],"mappings":";gBAkfa,MAAM;oBAEN,MAAM;;IAQL,+CA6EX;IAMS;;gBAK+D;;;;;YAehE,6BAAyB;;;;;;;YAKzB,mCACiE;;;;;;;;YAKjE,mCAA+C;;;;;;;;;;;;;;YAc/C,4DAIJ;;;;;;;;;;;;;;;YAkBI,yDAGG;;;;;;;;YAUH,yDAAmE;;;;;;;;YAWnE,mCAA6B;;;;;;;;;;YAapB;;;;;;;;;;;;;;;;;;;;;iBAwCb;;YACI,6FAsFG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAiDH,6FAyCF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAyCE,6FAqBF;;;;;;;;;;;;;;;;YA4BE,8FAkBF;;;;;;;;;;;;;;YAiBE,8FAcyB;;;;;;;;;;;;;;;YAczB,8FAYoB;;;;;;;;;;YAWpB,8FAWD;;;;IAOF,0CAQL;;QAYK;;mBAAmB;QAMZ;;mBAAyD;;IAOpE,+FAYC;IAMkB,iFAEwB;;;kBAuBlC,MAAM;;sBAEN,MAAM;;;;IAUP;;;gBAAoD;;;;;;;;;;;YAgBrD,uCAAc;;;;;;;;;;;;;;;;YAwBd,8FAwBJ;;;;;YA3rCS;;;;gBAOb;;;;;;;;YAII,yGAmBD;;;;YAGU;;;;gBAOb;;;;;;;;;;YAOI,qHAmCJ;;;;YAaa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAiDb;;;;;;YAII,0DA0DJ;;;;YAuBa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAgDb;;;;;;YAGI,0DA0BJ;;;;;;;;;;;;;;;;YAUI,qHA6BJ;;;;;;;;YA62BiB;;;;;gBAOb;;;;;;YAGI,0DAWF;;;;;;YAIW;;;;;gBAOb;;;;;;YAGI,qHAsBJ;;;;;wBAGM,MAAM,EAAE;;IASE,qEACoB;;IAKnC,0CAWL;;IAMC,0DAKC;;;;kBAkcQ,MAAM;;sBAEN,MAAM;;;;IAMP,uCAAa;;;;;;;;YAed,oCASG;;;;;;;;;YAUH,oCAKG;;;;;;;;YAWH,sDAAyD;;;;;;;;;;;;;;;;;;;;;;YAyBzD,8FAgBJ;;;;;;;;;YAKI,8FAoBJ;;;;;;;;;;;;;;;;YA6BI,8FAoCE;;;;;wBAGA,MAAM,EAAE;;IAOC,2EAMnB;IAKK,kDAUL;;IAKW,8CAAU;IAKd,0CAAwB;IAItB,sCAAiB;;;;kBApchB,MAAM;;sBAEN,MAAM;;;;IAOP,uCAAa;;wBACZ,MAAM,EAAE;;;;;;;;YAuBV,0DAOJ;;;;;;;;;YAWI,8CAKG;;;;;;;;;;;;;;;YAkBH,4DAWJ;;;;;;;;YAUI,iDAKJ;;;;;;;;YAWI,iDAGJ;;;;;;;;;;;YAaI,8FAkBD;;;;;;;;;;;YAaC,8FAkBD;;;;;;QASD,qBAAgB;;;IAOjB,yDAWL;;IAKS,sCAA2C;;;;kBAzV1C,MAAM;;sBAEN,MAAM;;;;IAUP;;;iBAAmD;;;;;;;;YAepD,uCAAc;;;;;;;;;;;;;;;;;YAkBd,8FAoBD;;;;;;;;;;;;;;;;;;;YAvmCH,qHAaD;;;;;;;;;wBAomCO,MAAM,EAAE;;IAWb,+DAYL;;IAMC,mEAKC;;;;kBAlMQ,MAAM;;sBAEN,MAAM;;;;IAOP,uCAAY;;;;;;;;YAeb,oCAMG;;;;;;;;;;;;YAYH,8FAWD;;;;;;wBAGG,MAAM,EAAE;;IAMb,0CAOL;;IAIS,sCAET;;;;;;;;;;;;;;;;;;;IA9pCI,0DAGJ"}
|
|
@@ -16,6 +16,7 @@ const { localeDate, localeDateTime } = require("@saltcorn/markup");
|
|
|
16
16
|
const { freeVariables, eval_expression } = require("../models/expression");
|
|
17
17
|
const Table = require("../models/table");
|
|
18
18
|
const _ = require("underscore");
|
|
19
|
+
const { interpolate } = require("../utils");
|
|
19
20
|
const isdef = (x) => (typeof x === "undefined" || x === null ? false : true);
|
|
20
21
|
const eqStr = (x, y) => `${x}` === `${y}`;
|
|
21
22
|
const number_slider = (type) => ({
|
|
@@ -215,11 +216,7 @@ const show_with_html = {
|
|
|
215
216
|
isEdit: false,
|
|
216
217
|
description: "Show value with any HTML code",
|
|
217
218
|
run: (v, req, attrs = {}) => {
|
|
218
|
-
const
|
|
219
|
-
evaluate: /\{\{#(.+?)\}\}/g,
|
|
220
|
-
interpolate: /\{\{([^#].+?)\}\}/g,
|
|
221
|
-
});
|
|
222
|
-
const rendered = template({ it: v, user: req?.user });
|
|
219
|
+
const rendered = interpolate(attrs?.code, { it: v }, req?.user);
|
|
223
220
|
return rendered;
|
|
224
221
|
},
|
|
225
222
|
};
|
|
@@ -653,12 +650,18 @@ const string = {
|
|
|
653
650
|
onChange: attrs.onChange,
|
|
654
651
|
onBlur: attrs.onChange,
|
|
655
652
|
autocomplete: "off",
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
option({ value: "" }, attrs.
|
|
653
|
+
required: attrs.placeholder && (required || attrs.force_required),
|
|
654
|
+
}, attrs.placeholder && (required || attrs.force_required)
|
|
655
|
+
? [
|
|
656
|
+
option({ value: "", disabled: true, selected: !v }, attrs.placeholder),
|
|
660
657
|
...getStrOptions(v, attrs.options),
|
|
661
|
-
]
|
|
658
|
+
]
|
|
659
|
+
: required || attrs.force_required
|
|
660
|
+
? getStrOptions(v, attrs.options)
|
|
661
|
+
: [
|
|
662
|
+
option({ value: "" }, attrs.neutral_label || ""),
|
|
663
|
+
...getStrOptions(v, attrs.options),
|
|
664
|
+
])
|
|
662
665
|
: attrs.options
|
|
663
666
|
? none_available(required)
|
|
664
667
|
: attrs.calcOptions
|
|
@@ -839,6 +842,11 @@ const string = {
|
|
|
839
842
|
name: "rows",
|
|
840
843
|
label: "Rows",
|
|
841
844
|
},
|
|
845
|
+
{
|
|
846
|
+
name: "placeholder",
|
|
847
|
+
label: "Placeholder",
|
|
848
|
+
type: "String",
|
|
849
|
+
},
|
|
842
850
|
],
|
|
843
851
|
run: (nm, v, attrs, cls, required, field) => textarea({
|
|
844
852
|
class: ["form-control", cls],
|
|
@@ -847,6 +855,7 @@ const string = {
|
|
|
847
855
|
disabled: attrs.disabled,
|
|
848
856
|
onChange: attrs.onChange,
|
|
849
857
|
readonly: attrs.readonly,
|
|
858
|
+
placeholder: attrs.placeholder,
|
|
850
859
|
spellcheck: attrs.spellcheck === false ? "false" : undefined,
|
|
851
860
|
required: !!required,
|
|
852
861
|
maxlength: isdef(attrs.max_length) && attrs.max_length,
|
|
@@ -1052,6 +1061,11 @@ const int = {
|
|
|
1052
1061
|
label: "Read-only",
|
|
1053
1062
|
type: "Bool",
|
|
1054
1063
|
},
|
|
1064
|
+
{
|
|
1065
|
+
name: "autofocus",
|
|
1066
|
+
label: "Autofocus",
|
|
1067
|
+
type: "Bool",
|
|
1068
|
+
},
|
|
1055
1069
|
],
|
|
1056
1070
|
run: (nm, v, attrs, cls, required, field) => {
|
|
1057
1071
|
const id = `input${text_attr(nm)}`;
|
|
@@ -1066,6 +1080,7 @@ const int = {
|
|
|
1066
1080
|
class: ["form-control", cls],
|
|
1067
1081
|
disabled: attrs.disabled,
|
|
1068
1082
|
readonly: attrs.readonly,
|
|
1083
|
+
autofocus: attrs.autofocus,
|
|
1069
1084
|
"data-fieldname": text_attr(field.name),
|
|
1070
1085
|
name,
|
|
1071
1086
|
onChange: attrs.onChange,
|