@processmaker/screen-builder 2.74.0 → 2.75.0
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/vue-form-builder.common.js +2269 -2010
- package/dist/vue-form-builder.common.js.map +1 -1
- package/dist/vue-form-builder.css +1 -1
- package/dist/vue-form-builder.umd.js +2269 -2010
- package/dist/vue-form-builder.umd.js.map +1 -1
- package/dist/vue-form-builder.umd.min.js +9 -9
- package/dist/vue-form-builder.umd.min.js.map +1 -1
- package/package.json +3 -3
- package/src/.DS_Store +0 -0
- package/src/components/vue-form-builder.vue +19 -9
- package/src/form-builder-controls.js +111 -0
- package/src/main.js +2 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@processmaker/screen-builder",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.75.0",
|
|
4
4
|
"scripts": {
|
|
5
5
|
"serve": "vue-cli-service serve",
|
|
6
6
|
"build": "vue-cli-service build",
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"@cypress/code-coverage": "^3.8.1",
|
|
40
40
|
"@fortawesome/fontawesome-free": "^5.6.1",
|
|
41
41
|
"@panter/vue-i18next": "^0.15.2",
|
|
42
|
-
"@processmaker/vue-form-elements": "0.49.
|
|
42
|
+
"@processmaker/vue-form-elements": "0.49.1",
|
|
43
43
|
"@processmaker/vue-multiselect": "^2.2.0",
|
|
44
44
|
"@vue/cli-plugin-babel": "^3.6.0",
|
|
45
45
|
"@vue/cli-plugin-e2e-cypress": "^4.0.3",
|
|
@@ -88,7 +88,7 @@
|
|
|
88
88
|
},
|
|
89
89
|
"peerDependencies": {
|
|
90
90
|
"@panter/vue-i18next": "^0.15.0",
|
|
91
|
-
"@processmaker/vue-form-elements": "0.49.
|
|
91
|
+
"@processmaker/vue-form-elements": "0.49.1",
|
|
92
92
|
"i18next": "^15.0.8",
|
|
93
93
|
"vue": "^2.6.12",
|
|
94
94
|
"vuex": "^3.1.1"
|
package/src/.DS_Store
CHANGED
|
Binary file
|
|
@@ -537,15 +537,25 @@ export default {
|
|
|
537
537
|
return this.config.length > 1;
|
|
538
538
|
},
|
|
539
539
|
filteredControls() {
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
540
|
+
const excludedLabels = ["Bootstrap Wrapper", "Bootstrap Component"];
|
|
541
|
+
|
|
542
|
+
const filtered = this.controls.filter((control) => {
|
|
543
|
+
return control.label.toLowerCase().includes(this.filterQuery.toLowerCase());
|
|
544
|
+
});
|
|
545
|
+
|
|
546
|
+
const excluded = filtered.filter((control) => {
|
|
547
|
+
return excludedLabels.includes(control.label);
|
|
548
|
+
});
|
|
549
|
+
|
|
550
|
+
const included = filtered.filter((control) => {
|
|
551
|
+
return !excludedLabels.includes(control.label);
|
|
552
|
+
});
|
|
553
|
+
|
|
554
|
+
const sorted = included.sort((a, b) => {
|
|
555
|
+
return this.collator.compare(a.label, b.label);
|
|
556
|
+
});
|
|
557
|
+
|
|
558
|
+
return [...sorted, ...excluded];
|
|
549
559
|
},
|
|
550
560
|
isCurrentPageEmpty() {
|
|
551
561
|
return this.config[this.currentPage].items.length === 0;
|
|
@@ -16,6 +16,8 @@ import {
|
|
|
16
16
|
FormCheckbox,
|
|
17
17
|
FormDatePicker,
|
|
18
18
|
FormHtmlEditor,
|
|
19
|
+
BFormComponent,
|
|
20
|
+
BWrapperComponent,
|
|
19
21
|
} from '@processmaker/vue-form-elements';
|
|
20
22
|
import { dataSourceValues } from '@/components/inspector/data-source-types';
|
|
21
23
|
|
|
@@ -710,4 +712,113 @@ export default [
|
|
|
710
712
|
],
|
|
711
713
|
},
|
|
712
714
|
},
|
|
715
|
+
{
|
|
716
|
+
rendererComponent: BFormComponent,
|
|
717
|
+
rendererBinding: 'BFormComponent',
|
|
718
|
+
builderComponent: BFormComponent,
|
|
719
|
+
builderBinding: 'BFormComponent',
|
|
720
|
+
control: {
|
|
721
|
+
label: 'Bootstrap Component',
|
|
722
|
+
component: 'BFormComponent',
|
|
723
|
+
'editor-component': 'BFormComponent',
|
|
724
|
+
'editor-control': 'BFormComponent',
|
|
725
|
+
config: {
|
|
726
|
+
bootstrapComponent: 'b-form-tags',
|
|
727
|
+
bootstrapConfig: '{}',
|
|
728
|
+
label: 'New Bootstrap Component',
|
|
729
|
+
icon: 'fab fa-bootstrap',
|
|
730
|
+
},
|
|
731
|
+
inspector: [
|
|
732
|
+
keyNameProperty,
|
|
733
|
+
labelProperty,
|
|
734
|
+
{
|
|
735
|
+
type: 'FormMultiselect',
|
|
736
|
+
field: 'bootstrapComponent',
|
|
737
|
+
config: {
|
|
738
|
+
icon: 'fas',
|
|
739
|
+
label: 'Bootstrap vue component',
|
|
740
|
+
validation: 'required',
|
|
741
|
+
options: [
|
|
742
|
+
{ value: 'b-embed', content: 'Embed' },
|
|
743
|
+
{ value: 'b-img', content: 'Image' },
|
|
744
|
+
{ value: 'b-form-rating', content: 'Form Rating' },
|
|
745
|
+
{ value: 'b-form-spinbutton', content: 'Form Spinbutton' },
|
|
746
|
+
{ value: 'b-form-tags', content: 'Form Tags' },
|
|
747
|
+
{ value: 'b-form-timepicker', content: 'Form Timepicker' },
|
|
748
|
+
{ value: 'b-table', content: 'Table' },
|
|
749
|
+
],
|
|
750
|
+
},
|
|
751
|
+
},
|
|
752
|
+
{
|
|
753
|
+
type: 'FormTextArea',
|
|
754
|
+
field: 'bootstrapConfig',
|
|
755
|
+
config: {
|
|
756
|
+
rows: 5,
|
|
757
|
+
label: 'Config',
|
|
758
|
+
helper: 'Properties in JSON format. See https://bootstrap-vue.org/docs/components',
|
|
759
|
+
value: '{}',
|
|
760
|
+
},
|
|
761
|
+
},
|
|
762
|
+
validationRulesProperty,
|
|
763
|
+
],
|
|
764
|
+
},
|
|
765
|
+
},
|
|
766
|
+
{
|
|
767
|
+
rendererComponent: BWrapperComponent,
|
|
768
|
+
rendererBinding: 'BWrapperComponent',
|
|
769
|
+
builderComponent: BWrapperComponent,
|
|
770
|
+
builderBinding: 'BWrapperComponent',
|
|
771
|
+
control: {
|
|
772
|
+
label: 'Bootstrap Wrapper',
|
|
773
|
+
component: 'BWrapperComponent',
|
|
774
|
+
'editor-component': 'BWrapperComponent',
|
|
775
|
+
'editor-control': 'BWrapperComponent',
|
|
776
|
+
config: {
|
|
777
|
+
bootstrapComponent: 'b-modal',
|
|
778
|
+
bootstrapConfig: '{}',
|
|
779
|
+
label: 'New Bootstrap Wrapper',
|
|
780
|
+
icon: 'fab fa-bootstrap',
|
|
781
|
+
name: '',
|
|
782
|
+
form: '',
|
|
783
|
+
},
|
|
784
|
+
inspector: [
|
|
785
|
+
keyNameProperty,
|
|
786
|
+
labelProperty,
|
|
787
|
+
{
|
|
788
|
+
type: 'FormMultiselect',
|
|
789
|
+
field: 'bootstrapComponent',
|
|
790
|
+
config: {
|
|
791
|
+
icon: 'fas',
|
|
792
|
+
label: 'Bootstrap vue component',
|
|
793
|
+
validation: 'required',
|
|
794
|
+
options: [
|
|
795
|
+
{ value: 'b-alert', content: 'Alert' },
|
|
796
|
+
{ value: 'b-card', content: 'Card' },
|
|
797
|
+
{ value: 'b-collapse', content: 'Collapse' },
|
|
798
|
+
{ value: 'b-jumbotron', content: 'Jumbotron' },
|
|
799
|
+
{ value: 'b-modal', content: 'Modal' },
|
|
800
|
+
],
|
|
801
|
+
},
|
|
802
|
+
},
|
|
803
|
+
{
|
|
804
|
+
type: 'PageSelect',
|
|
805
|
+
field: 'form',
|
|
806
|
+
config: {
|
|
807
|
+
label: 'Page',
|
|
808
|
+
helper: 'The page to use inside the component',
|
|
809
|
+
},
|
|
810
|
+
},
|
|
811
|
+
{
|
|
812
|
+
type: 'FormTextArea',
|
|
813
|
+
field: 'bootstrapConfig',
|
|
814
|
+
config: {
|
|
815
|
+
rows: 5,
|
|
816
|
+
label: 'Config',
|
|
817
|
+
helper: 'Properties in JSON format. See https://bootstrap-vue.org/docs/components',
|
|
818
|
+
value: '{}',
|
|
819
|
+
},
|
|
820
|
+
},
|
|
821
|
+
],
|
|
822
|
+
},
|
|
823
|
+
},
|
|
713
824
|
];
|
package/src/main.js
CHANGED
|
@@ -10,13 +10,14 @@ import ScreenBuilder from '@/components';
|
|
|
10
10
|
import axios from 'axios';
|
|
11
11
|
import { cacheAdapterEnhancer } from 'axios-extensions';
|
|
12
12
|
import TestComponents from '../tests/components';
|
|
13
|
-
import BootstrapVue from 'bootstrap-vue';
|
|
13
|
+
import {BootstrapVue, IconsPlugin} from 'bootstrap-vue';
|
|
14
14
|
import Multiselect from '@processmaker/vue-multiselect/src/Multiselect';
|
|
15
15
|
import LRUCache from 'lru-cache';
|
|
16
16
|
import globalErrorsModule from "@/store/modules/globalErrorsModule";
|
|
17
17
|
import undoRedoModule from "@/store/modules/undoRedoModule";
|
|
18
18
|
|
|
19
19
|
Vue.use(BootstrapVue);
|
|
20
|
+
Vue.use(IconsPlugin);
|
|
20
21
|
Vue.config.productionTip = false;
|
|
21
22
|
|
|
22
23
|
// Allow strings to be wrapped in $t(...) for translating
|