Skip to content

Commit 0f8f287

Browse files
Merge branch 'next' into FOUR-10983
2 parents dd9fada + c06ce6f commit 0f8f287

File tree

9 files changed

+85
-85
lines changed

9 files changed

+85
-85
lines changed

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@processmaker/vue-form-elements",
3-
"version": "0.49.4",
3+
"version": "0.50.0",
44
"description": "Reusable VueJS Based Form Elements styled with Bootstrap 4",
55
"scripts": {
66
"serve": "NODE_ENV=standalone vue-cli-service serve",
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
import BFormComponent from "./BFormComponent.vue";
2+
import BWrapperComponent from "./BWrapperComponent.vue";
3+
4+
export { BFormComponent, BWrapperComponent };

src/components/FormDatePicker.vue

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -114,15 +114,6 @@ export default {
114114
return {
115115
validatorErrors: [],
116116
date: "",
117-
inputAttributes: {
118-
class: `${this.inputClass}`,
119-
placeholder: this.placeholder,
120-
name: this.name,
121-
"aria-label": this.ariaLabel,
122-
"tab-index": this.tabIndex,
123-
disabled: this.disabled,
124-
readonly: this.isReadOnly
125-
},
126117
onChangeDate: ""
127118
};
128119
},
@@ -138,6 +129,17 @@ export default {
138129
isDateDisabled: this.checkMinMaxDateDisabled
139130
};
140131
},
132+
inputAttributes() {
133+
return {
134+
class: `${this.inputClass}`,
135+
placeholder: this.placeholder,
136+
name: this.name,
137+
"aria-label": this.ariaLabel,
138+
"tab-index": this.tabIndex,
139+
disabled: this.disabled,
140+
readonly: this.isReadOnly
141+
};
142+
},
141143
datepicker() {
142144
return this.dataFormat === "datetime";
143145
},
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import CheckboxView from "./CheckboxView.vue";
2+
import MultiSelectView from "./MultiSelectView.vue";
3+
import OptionboxView from "./OptionboxView.vue";
4+
5+
export { CheckboxView, MultiSelectView, OptionboxView };

src/components/common/index.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
import DisplayErrors from "./DisplayErrors.vue";
2+
import RequiredAsterisk from "./RequiredAsterisk.vue";
3+
4+
export { DisplayErrors, RequiredAsterisk };

src/components/index.js

Lines changed: 51 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -1,77 +1,58 @@
1-
// Import our components
2-
import FormInput from './FormInput'
3-
import FormCheckbox from './FormCheckbox'
4-
import FormRadioButtonGroup from './FormRadioButtonGroup'
5-
import FormSelect from './FormSelect'
6-
import FormSelectList from './FormSelectList'
7-
import FormTextArea from './FormTextArea'
8-
import FormDatePicker from './FormDatePicker'
9-
import FormAccordion from './FormAccordion'
10-
import FormHtmlEditor from './FormHtmlEditor'
11-
import FormHtmlViewer from './FormHtmlViewer'
12-
import FormDelayTimeControl from './FormDelayTimeControl'
13-
import FormMultiSelect from './FormMultiSelect';
14-
import FormPlainMultiSelect from './FormPlainMultiSelect';
15-
import RequiredAsterisk from './common/RequiredAsterisk';
16-
import * as dateUtils from '../dateUtils';
1+
import * as dateUtils from "../dateUtils";
172

18-
import BFormComponent from './FormBootstrapVueComponents/BFormComponent'
19-
import BWrapperComponent from './FormBootstrapVueComponents/BWrapperComponent'
3+
export { default as FormAccordion } from "./FormAccordion.vue";
4+
export { default as FormCheckbox } from "./FormCheckbox.vue";
5+
export { default as FormDatePicker } from "./FormDatePicker.vue";
6+
export { default as FormDelayTimeControl } from "./FormDelayTimeControl.vue";
7+
export { default as FormHtmlEditor } from "./FormHtmlEditor.vue";
8+
export { default as FormHtmlViewer } from "./FormHtmlViewer.vue";
9+
export { default as FormInput } from "./FormInput.vue";
10+
export { default as FormMultiSelect } from "./FormMultiSelect.vue";
11+
export { default as FormPlainMultiSelect } from "./FormPlainMultiSelect.vue";
12+
export { default as FormRadioButtonGroup } from "./FormRadioButtonGroup.vue";
13+
export { default as FormSelect } from "./FormSelect.vue";
14+
export { default as FormSelectList } from "./FormSelectList.vue";
15+
export { default as FormTextArea } from "./FormTextArea.vue";
16+
export * from "./common";
17+
export * from "./FormBootstrapVueComponents";
18+
export * from "./FormSelectList";
19+
export * from "./mixins";
20+
export { dateUtils };
2021

21-
// Export our components
22-
let components = {
23-
FormInput,
24-
FormCheckbox,
25-
FormRadioButtonGroup,
26-
FormSelect,
27-
FormSelectList,
28-
FormTextArea,
29-
FormDatePicker,
30-
FormAccordion,
31-
FormHtmlEditor,
32-
FormHtmlViewer,
33-
FormDelayTimeControl,
34-
FormMultiSelect,
35-
FormPlainMultiSelect,
36-
BFormComponent,
37-
BWrapperComponent,
38-
}
22+
// Export our Vue plugin as our default
23+
export default function install(Vue) {
24+
// First check to see if we're already installed
25+
if (Vue._processMakerVueFormElementsInstalled) {
26+
return;
27+
}
3928

40-
// Export our named exports
41-
export {
42-
FormInput,
43-
FormCheckbox,
44-
FormRadioButtonGroup,
45-
FormSelect,
46-
FormSelectList,
47-
FormTextArea,
48-
FormDatePicker,
49-
FormAccordion,
50-
FormHtmlEditor,
51-
FormHtmlViewer,
52-
FormDelayTimeControl,
53-
FormMultiSelect,
54-
FormPlainMultiSelect,
55-
dateUtils,
56-
RequiredAsterisk,
57-
BFormComponent,
58-
BWrapperComponent,
59-
}
29+
// Boolean flag to see if we're already installed
30+
Vue._processMakerVueFormElementsInstalled = true;
6031

61-
// Export our Vue plugin as our default
62-
export default {
63-
install: function (Vue) {
64-
// First check to see if we're already installed
65-
if (Vue._processMakerVueFormElementsInstalled) {
66-
return
67-
}
32+
// Register each of our components
33+
const vueComponents = require.context("./", true, /\.(vue)$/);
34+
35+
vueComponents.keys().forEach((key) => {
36+
const component = vueComponents(key).default;
6837

69-
// Boolean flag to see if we're already installed
70-
Vue._processMakerVueFormElementsInstalled = true
38+
// if a component has a name defined use the name, else use the path as the component name
39+
const name = component.name ? component.name : key.replace(/^.*[\\\/]/, "").replace(/\.[^/.]+$/, "");
7140

72-
// Register each of our components
73-
for (let component in components) {
74-
Vue.component(component, components[component])
75-
}
76-
}
41+
Vue.component(name, component);
42+
});
43+
}
44+
45+
const plugin = {
46+
install
47+
};
48+
49+
// Auto-install when vue is found (eg. in browser via <script> tag)
50+
let GlobalVue = null;
51+
if (typeof window !== "undefined") {
52+
GlobalVue = window.Vue;
53+
} else if (typeof global !== "undefined") {
54+
GlobalVue = global.Vue;
55+
}
56+
if (GlobalVue) {
57+
GlobalVue.use(plugin);
7758
}

src/components/mixins/index.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
export { default as DataFormatMixin } from "./DataFormat";
2+
export { default as HasDefaultOptionKeyMixin } from "./hasDefaultOptionKey";
3+
export { default as ProxyDataMixin } from "./ProxyData";
4+
export { default as ValidationMixin } from "./validation";

vue.config.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
module.exports = {
22
configureWebpack: {
3-
externals: process.env.NODE_ENV !== "standalone" ? ["validatorjs"] : []
3+
externals: process.env.NODE_ENV !== "standalone" ? ["validatorjs", "moment", "moment-timezone", "vue"] : []
44
},
55
lintOnSave: false,
66
devServer: {
@@ -12,6 +12,6 @@ module.exports = {
1212
css: {
1313
extract: true
1414
},
15-
16-
transpileDependencies: true
15+
transpileDependencies: true,
16+
lintOnSave: false
1717
};

0 commit comments

Comments
 (0)