diff --git a/README.md b/README.md index 40898b8..947dced 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,11 @@ # forms-flow-ai-examples -forms-flow-ai platform examples +This repository contains a few examples of some of the features present in the forms-flow-ai platform. +## bpm-examples +Refer [bpm-examples](https://github.com/Raveena-aot/forms-flow-ai-examples/tree/examples-info/bpm-examples/camunda#bpm-examples) to know more. +## Custom Components +Custom components allow developers to define attributes that can be passed into each component. +Refer [Custom Components](https://github.com/Raveena-aot/forms-flow-ai-examples/tree/examples-info/custom-components#custom-components) to know more. +## Camunda/Robocorp examples +Some of the bpm-examples and rpa-examples are given [here](https://github.com/Raveena-aot/forms-flow-ai-examples/blob/examples-info/docs/README.md). +## Forms-examples +Refer [forms-examples](https://github.com/Raveena-aot/forms-flow-ai-examples/tree/examples-info/forms-examples#forms-examples) to know more. diff --git a/bpm-examples/camunda/README.md b/bpm-examples/camunda/README.md new file mode 100644 index 0000000..40bf1cb --- /dev/null +++ b/bpm-examples/camunda/README.md @@ -0,0 +1,12 @@ +# bpm-examples +## Table of Content +1. [Notification_email](#notification_email) +2. [Approval-process.zip](#approval-process.zip) + +## Notification_email +This folder contains the two workflows that are required for email integration; these are example-email-template.dmn (for v4.0 and v5.0) and notification_email.bpmn." + +## Approval-process.zip +This zip file contains sample workflows. After installation, users can download the zip file from this page and deploy it on formsflow.ai. + +![image2](https://user-images.githubusercontent.com/96716528/207521323-4e7377ad-50d9-439b-9456-e90c20a9cf99.png) diff --git a/bpm-examples/camunda/approval-process.zip b/bpm-examples/camunda/approval-process.zip new file mode 100644 index 0000000..93a2d92 Binary files /dev/null and b/bpm-examples/camunda/approval-process.zip differ diff --git a/bpm-examples/camunda/notification_email/notification_email.bpmn b/bpm-examples/camunda/notification_email/notification_email.bpmn new file mode 100644 index 0000000..d2d33d1 --- /dev/null +++ b/bpm-examples/camunda/notification_email/notification_email.bpmn @@ -0,0 +1,82 @@ + + + + + + + + ${email_to} + ${email_subject} + ${email_body} + + mail-send + + + Flow_1lqclyt + SequenceFlow_0zor2ji + + + + SequenceFlow_0zor2ji + + + + + + + + + SequenceFlow_1hk7qik + + + + + + ${category} + + + SequenceFlow_1hk7qik + Flow_1lqclyt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bpm-examples/camunda/notification_email/v4.0/example-email-template.dmn b/bpm-examples/camunda/notification_email/v4.0/example-email-template.dmn new file mode 100644 index 0000000..853bad5 --- /dev/null +++ b/bpm-examples/camunda/notification_email/v4.0/example-email-template.dmn @@ -0,0 +1,106 @@ + + + + + + + category + + + + + + + + + "assignment_notification" + + + + + + + + + "Task Assignment" + + + "Hello @name, + +You have a new task for the process. Please click the following link to access your new task. + +@formUrl + + +Best Regards" + + + + + "activity_reminder" + + + + + + + + + "Task Reminder" + + + "Dear @name, + +This is a reminder that your outstanding task is due in one day. + +Application Number : @applicationId + + +Please click the following link to access your new task. + +To access the task through formsflow.ai please follow this link: http://localhost:3000/task/@pid + + + Regards, + " + + + + + "activity_escalation" + + + + + + + + + "Task Escalation" + + + "Dear @name, + +You have exceeded the deadline for the task. + +Application Number : @applicationId + + +Please click the following link to access your new task. + +To access the task through formsflow.ai please follow this link: http://localhost:3000/task/@pid + + Regards, + " + + + + + + + + + + + + diff --git a/bpm-examples/camunda/notification_email/v5.0/example-email-template.dmn b/bpm-examples/camunda/notification_email/v5.0/example-email-template.dmn new file mode 100644 index 0000000..4f9e5c8 --- /dev/null +++ b/bpm-examples/camunda/notification_email/v5.0/example-email-template.dmn @@ -0,0 +1,106 @@ + + + + + + + category + + + + + + + + + "assignment_notification" + + + + + + + + + "Task Assignment" + + + "Hello @name, + +You have a new task for the process. Please click the following link to access your new task. + +@webFormUrl + + +Best Regards" + + + + + "activity_reminder" + + + + + + + + + "Task Reminder" + + + "Dear @name, + +This is a reminder that your outstanding task is due in one day. + +Application Number : @applicationId + + +Please click the following link to access your new task. + +To access the task through formsflow.ai please follow this link: http://localhost:3000/task/@pid + + + Regards, + " + + + + + "activity_escalation" + + + + + + + + + "Task Escalation" + + + "Dear @name, + +You have exceeded the deadline for the task. + +Application Number : @applicationId + + +Please click the following link to access your new task. + +To access the task through formsflow.ai please follow this link: http://localhost:3000/task/@pid + + Regards, + " + + + + + + + + + + + + diff --git a/custom-components/README.md b/custom-components/README.md new file mode 100644 index 0000000..9234966 --- /dev/null +++ b/custom-components/README.md @@ -0,0 +1,7 @@ +# Custom Components +One of the more powerful features of the forms-flow.ai platform is the ability to develop your custom form components. The procedure of creating a custom component involves extending a base class of the component that is closest to the implementation you desire, and then override the methods or add new methods that will implement your custom logic. All of the existing components within the platform also use this same method, so you can see many examples by inspecting how the base components for the Forms-flow renderer are implemented. + + +![image3](https://user-images.githubusercontent.com/96716528/207521612-a6595f96-1a79-4566-965f-c88f9cfb07f4.png) + +This repository contains some code base for implementing custom components, thus we may add additional components using the custom component feature. diff --git a/custom-components/custom-file-upload/fileUpload.js b/custom-components/custom-file-upload/fileUpload.js new file mode 100644 index 0000000..904050b --- /dev/null +++ b/custom-components/custom-file-upload/fileUpload.js @@ -0,0 +1,84 @@ +import React from 'react'; +import ReactDOM from 'react-dom'; +import { ReactComponent } from 'react-formio'; +import settingsForm from './fileUpload.settingsForm'; +import FileUpload from "./fileUploadInputComponent"; + + +export default class UploadFile extends ReactComponent { + /** + * This function tells the form builder about your component. It's name, icon and what group it should be in. + * + * @returns {{title: string, icon: string, group: string, documentation: string, weight: number, schema: *}} + */ + static get builderInfo() { + return { + title: 'CMIS File Upload', + icon: 'upload', + group: 'basic', + documentation: '', //TODO + weight: 110, + schema: UploadFile.schema() + }; + } + + /** + * This function is the default settings for the component. At a minimum you want to set the type to the registered + * type of your component (i.e. when you call Components.setComponent('type', MyComponent) these types should match. + * + * @param sources + * @returns {*} + */ + static schema() { + return ReactComponent.schema({ + type: 'fileUpload', + label: 'File Upload', + }); + } + + /* + * Defines the settingsForm when editing a component in the builder. + */ + static editForm = settingsForm; + + /** + * This function is called when the DIV has been rendered and added to the DOM. You can now instantiate the react component. + * + * @param DOMElement + * #returns ReactInstance + */ + attachReact(element) { + let instance; + // eslint-disable-next-line react/no-render-return-value + return ReactDOM.render( + + { + instance = refer; + }} + component={this.component} // These are the component settings + //if you want to use them to render the component. + value={this.dataValue} // The starting value of the component. + data={this.data} + name={this.name} + onChange={this.updateValue} + disabled={this.disabled} + // The onChange event to call when the value changes. + />, + element, + () => (this.reactInstance = instance) + ); + } + + + /** + * Automatically detach any react components. + * + * @param element + */ + detachReact(element) { + if (element) { + ReactDOM.unmountComponentAtNode(element); + } + } +} diff --git a/custom-components/custom-file-upload/fileUpload.settingsForm.js b/custom-components/custom-file-upload/fileUpload.settingsForm.js new file mode 100644 index 0000000..00e4b39 --- /dev/null +++ b/custom-components/custom-file-upload/fileUpload.settingsForm.js @@ -0,0 +1,49 @@ + +import baseEditForm from 'formiojs/components/_classes/component/Component.form'; + +const settingsForm = (...extend) => { + return baseEditForm([ + { + key: 'display', + components: [ + { + // You can ignore existing fields. + key: 'placeholder', + ignore: true, + }, + ] + }, + { + key: 'data', + components: [{ + // Or add your own. The syntax is form.io component definitions. + type: 'tags', + storeas: 'array', + input: true, + label: 'file to be uploaded', + weight: 20, + key: 'fileUpload', // This will be available as component.topic + + }], + }, + { + key: 'validation', + components: [], + }, + { + key: 'api', + components: [], + }, + { + key: 'conditional', + components: [], + }, + { + key: 'logic', + components: [], + }, + ], ...extend); +}; + +export default settingsForm; + diff --git a/custom-components/custom-file-upload/fileUploadInputComponent.jsx b/custom-components/custom-file-upload/fileUploadInputComponent.jsx new file mode 100644 index 0000000..56620ad --- /dev/null +++ b/custom-components/custom-file-upload/fileUploadInputComponent.jsx @@ -0,0 +1,233 @@ +import React, { Component } from 'react'; +import UserService from "../../services/UserService"; +import API from "../../apiManager/endpoints/index"; +import { httpGETRequest, httpPOSTRequest } from "../../apiManager/httpRequestHandler"; +import { toast } from "react-toastify"; +import { Translation } from "react-i18next"; + + + +export default class UploadFile extends Component { + constructor(props) { + super(props); + this.state = { + value: props.value, selectedFile: '', + base64Image: '', + base64Data: '', + fileName: '', + fileType: '', + uploadSuccess: false, + loading: false + }; + } + + onFileChange = async (event) => { + if (event.target.files[0]) { + this.setState({ base64Image: '' }); + let file = event.target.files[0]; + this.setState({ selectedFile: file }); + let filesName = file.name; + this.setState({ fileName: filesName }); + const base64 = await this.convertBase64(file); + this.splitFileName(filesName); + let ftype = this.state.fileType; + if (ftype == "jpg" || ftype == "png") { + this.setState({ base64Image: base64 }); + } + const { type } = this.props.component; + this.setState( + { + value: { + name: event.target.files[0].name, + type + }, + }, + () => this.props.onChange(this.state.value) + ); + this.fileData(); + } + + }; + convertBase64 = (file) => { + return new Promise(resolve => { + let baseURL = ""; + let reader = new FileReader(); + reader.readAsDataURL(file); + reader.onload = () => { + baseURL = reader.result; + resolve(baseURL); + }; + }); + + } + onFileUpload = () => { + if (this.state.selectedFile) { + var formData = new FormData(); + formData.append("upload", this.state.selectedFile); + this.FileUPload(formData); + } + }; + FileUPload = (data, ...rest) => { + this.setState({ loading: true }); + const done = rest.length ? rest[0] : () => { }; + const URL = API.CMIS_UPLOAD_FILE; + httpPOSTRequest(URL, data, UserService.getToken()) + .then((res) => { + if (res.data) { + this.setState({ loading: false }); + done(null, res.data); + this.setState({ selectedFile: '' }); + const { type } = this.props.component; + this.setState( + { + value: { + name: res.data.name, + type + }, + }, + () => this.props.onChange(this.state.value) + ); + toast.success({(t) => t("Upload successfull")}); + this.setState({ uploadSuccess: true }); + } else { + done("Error Posting data"); + this.setState({ loading: false }); + } + }) + .catch((error) => { + this.setState({ loading: false }); + toast.error({(t) => t("Failed to upload file")}); + done(error); + }); + }; + + fetchCMISfile = (e, ...rest) => { + this.setState({ loading: true }); + const fileName = this.state.value?.name || "images.jpg"; + this.splitFileName(fileName); + const done = rest.length ? rest[0] : () => { }; + const downloadURL = API.CMIS_DOWNLOAD_FILE + fileName; + httpGETRequest(downloadURL, {}, UserService.getToken()) + .then((res) => { + this.setState({ loading: false }); + let { data } = res.data[0]; + let base64Data = data; + this.setState({ base64Data: base64Data }); + this.downloadFIle(); + toast.success({(t) => t("Download successfull")}); + }) + .catch((error) => { + done(error); + this.setState({ loading: false }); + toast.error({(t) => t("Failed to download file")}); + }); + }; + splitFileName = (fileName) => { + let ftype = fileName.split(".")[1]; + this.setState({ fileType: ftype }); + } + downloadFIle = () => { + let type = this.state.fileType; + if (type == "jpg" || type == "png") { + let data = "data:image/" + type + ";base64," + this.state.base64Data; + this.setState({ base64Image: data }); + } + let data = "data:image/" + type + ";base64," + this.state.base64Data; + const downloadLink = document.createElement("a"); + downloadLink.href = data; + downloadLink.download = this.state.value?.name; + downloadLink.click(); + } + canelUpload = () => { + this.setState({ selectedFile: '', }); + this.render(); + } + fileData = () => { + var { disabled } = this.props; + if (this.state.selectedFile) { + return ( +
+
+
+
+

File Details:

+

File Name: {this.state.selectedFile.name}

+

File Type: {this.state.selectedFile.type}

+

+ Last Modified:{" "} + {this.state.selectedFile.lastModifiedDate.toDateString()} +

+
+
+
+ + +
+
+ {this.state.loading &&
} +
+

+ {this.state.base64Image && } +
+ {this.state.fileName &&
Kindly upload the file...!
} +
+ ); + } else { + return ( +
+
+ {!disabled && !this.state.uploadSuccess &&
Choose a file..!
} +
+ ); + } + }; + render() { + var { disabled, name } = this.props; + let { value } = this.state; + let Name = value?.name ; + let img = this.state.base64Image; + + return ( +
+ {this.state.uploadSuccess && {Name}} + {!disabled && this.state.selectedFile == '' && !this.state.uploadSuccess &&
+ +
} + {this.fileData()} + {disabled && Name ? Name &&
+ {Name} + +

+ + {img && !this.state.loading ? img &&
+
Downloaded Image:
+ + {/* Loader */} +
: this.state.loading &&
+ } +
: disabled && } +
+ ); + } +} + diff --git a/custom-components/google-map-component/GMapservice.js b/custom-components/google-map-component/GMapservice.js new file mode 100644 index 0000000..10e0921 --- /dev/null +++ b/custom-components/google-map-component/GMapservice.js @@ -0,0 +1,76 @@ +import React from 'react'; +import ReactDOM from 'react-dom'; +import { ReactComponent } from 'react-formio'; +import settingsForm from './Google-maps.settingsForm'; +import Gmap from "./Google_Map"; + +export default class GoogleMaps extends ReactComponent { + /** + * This function tells the form builder about your component. It's name, icon and what group it should be in. + * + * @returns {{title: string, icon: string, group: string, documentation: string, weight: number, schema: *}} + */ + static get builderInfo() { + return { + title: 'Google Map', + icon: 'map-marker', + group: 'basic', + documentation: '', //TODO + weight: 110, + schema: GoogleMaps.schema() + }; + } + + /** + * This function is the default settings for the component. At a minimum you want to set the type to the registered + * type of your component (i.e. when you call Components.setComponent('type', MyComponent) these types should match. + * + * @param sources + * @returns {*} + */ + static schema() { + return ReactComponent.schema({ + type: 'Maps', + label: 'Google Map', + }); + } + + /* + * Defines the settingsForm when editing a component in the builder. + */ + static editForm = settingsForm; + + /** + * This function is called when the DIV has been rendered and added to the DOM. You can now instantiate the react component. + * + * @param DOMElement + * #returns ReactInstance + */ + attachReact(element) { + let instance; + ReactDOM.render( + { instance = refer; }} + component={this.component} // These are the component settings if you want to use them to render the component. + value={this.dataValue} // The starting value of the component. + data={this.data} + name={this.name} + onChange={this.updateValue} + disabled={this.disabled} + // The onChange event to call when the value changes. + />, + element, () => (this.reactInstance = instance) + ); + } + + /** + * Automatically detach any react components. + * + * @param element + */ + detachReact(element) { + if (element) { + ReactDOM.unmountComponentAtNode(element); + } + } +} diff --git a/custom-components/google-map-component/Google-maps.settingsForm.js b/custom-components/google-map-component/Google-maps.settingsForm.js new file mode 100644 index 0000000..fabbe3e --- /dev/null +++ b/custom-components/google-map-component/Google-maps.settingsForm.js @@ -0,0 +1,39 @@ +import baseEditForm from 'formiojs/components/_classes/component/Component.form'; + +const settingsForm = (...extend) => { + return baseEditForm([ + { + key: 'display', + components: [ + { + // You can ignore existing fields. + key: 'placeholder', + ignore: true, + }, + ] + }, + { + key: 'data', + components: [], + }, + { + key: 'validation', + components: [], + }, + { + key: 'api', + components: [], + }, + { + key: 'conditional', + components: [], + }, + { + key: 'logic', + components: [], + }, + ], ...extend); +}; + +export default settingsForm; + diff --git a/custom-components/google-map-component/Google_Map.js b/custom-components/google-map-component/Google_Map.js new file mode 100644 index 0000000..df2a15e --- /dev/null +++ b/custom-components/google-map-component/Google_Map.js @@ -0,0 +1,180 @@ +import React from 'react'; +import { withGoogleMap, GoogleMap, withScriptjs, InfoWindow, Marker } from "react-google-maps"; +import Geocode from "react-geocode"; +import Autocomplete from 'react-google-autocomplete'; + + + +Geocode.setApiKey(process.env.REACT_APP_GOOGLE_MAP_URL); +Geocode.enableDebug(); + +export default class LocationSearchModal extends React.Component { + + constructor(props) { + super(props); + this.state = { + address: '', + zoom: 12, + height: 400, + location: '', + value: props.value, + gmapurl: process.env.REACT_APP_GOOGLE_MAP_URL + }; + } + componentDidMount() { + if (navigator.geolocation) { + navigator.geolocation.getCurrentPosition(position => { + Geocode.fromLatLng(position.coords.latitude, position.coords.longitude).then( + response => { + const address = response.results[0].formatted_address; + this.setState({ + value: { + placeName: address, + coordinates: { + lat: position.coords.latitude, + lng: position.coords.longitude, + } + } + }); + }, + error => { + console.error(error); + } + ); + }); + } else { + console.error("Geolocation is not supported by this browser!"); + } + } + + + + onChange = (event) => { + this.setState({ [event.target.name]: event.target.value }); + }; + + onInfoWindowClose = () => { + + }; + + onMarkerDragEnd = (event) => { + + let newLat = event.latLng.lat(), + newLng = event.latLng.lng(); + + Geocode.fromLatLng(newLat, newLng).then( + response => { + const address = response.results[0].formatted_address; + this.setState({ + value: { + placeName: address || '', + coordinates: { + lat: newLat, + lng: newLng + } + } + }, () => this.updateMapCoordinates()); + }, + error => { + console.error(error); + } + ); + }; + + onPlaceSelected = (place) => { + const address = place.formatted_address, + latValue = place.geometry.location.lat(), + lngValue = place.geometry.location.lng(); + + // Set these values in the state. + this.setState({ + value: { + placeName: address || '', + coordinates: { + lat: latValue, + lng: lngValue + } + } + }, () => this.updateMapCoordinates()); + }; + + updateMapCoordinates = () => { + this.props.onChange(this.state.value); + }; + + render() { + let { coordinates, placeName } = this.state.value ? this.state.value : { + placeName: '', + coordinates: { + lat: 0, + lng: 0 + } + }; + const AsyncMap = withScriptjs( + withGoogleMap( + () => ( + + + + +
+ {placeName} +
+
+ + +
+ ) + ) + ); + + return ( +
+ {this.state.value &&
+ + } + containerElement={ +
+ } + mapElement={ +
+ } + /> +
} +
+ ); + } + +} + diff --git a/custom-components/index.js b/custom-components/index.js new file mode 100644 index 0000000..05f0c3d --- /dev/null +++ b/custom-components/index.js @@ -0,0 +1,10 @@ +import fileUpload from "./custom-file-upload/fileUpload"; +import Maps from './google-map-component/GMapservice'; + +const components = { + fileUpload: fileUpload, + Maps: Maps, +}; + +export default components; + diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 0000000..11416ae --- /dev/null +++ b/docs/README.md @@ -0,0 +1,68 @@ +# Camunda/Robocorp examples +The following are few examples of workflows used in formsflow. +## Table of Contents +1. [Notification Email](#notification-email) +2. [One step Approval](#one-step-approval) +3. [Two step Approval](#two-step-approval) +4. [Background Check Robot](#background-check-robot) +# Notification Email +This bpmn diagram is intended to send an email notification to respective users. It uses **email-template.dmn** to configure the email properties. +## Type +BPMN +## How it Works + +![image](https://user-images.githubusercontent.com/96716528/207521941-fee5fa71-6f71-4bc6-9816-d0e2e04ebff3.png) + +First, configure notify listener to the desired workflow step. This will invoke the notify listener and start the message event of email-notification bpmn. + + +![image](https://user-images.githubusercontent.com/96716528/207522000-579bec45-2488-4da5-ab6b-45621af5c5fe.png) + + + +The notification_email workflow connects with the email-template-example.dmn with the decision reference value **email-template-example**. + + +![image](https://user-images.githubusercontent.com/96716528/207522072-497fa80a-8cf5-4318-ac5f-f51d270acbb0.png) + + + EmailAttributesListener is configured between the email template and email connector, which takes output data from the dmn template and transfers it to the email connector to send the mail. + + +![image](https://user-images.githubusercontent.com/96716528/207522113-aabc1c5b-822e-42b2-ae6b-c261fbcafe7c.png) + + + +# One step Approval +## Type +BPMN +## How it Works + +![image](https://user-images.githubusercontent.com/96716528/207522495-ef0fd2e5-288d-41d4-89e6-df134e8ad6c7.png) + +This diagram shows a simple approval process. Submit a form to invoke the process. + + +Add below listeners to inject the fields, capture the audit and transform camunda variables. + +- org.camunda.bpm.extension.hooks.listeners.BPMFormDataPipelineListener + +- org.camunda.bpm.extension.hooks.listeners.ApplicationStateListener + +- org.camunda.bpm.extension.hooks.listeners.FormBPMFilteredDataPipelineListener + +After that exclusive gateway checks the condition and decides to approve/ reject the application + +# Two step Approval +This bpmn diagram can be used for any state of approval process. +## Type +BPMN +## How it Works +![image](https://user-images.githubusercontent.com/96716528/207524812-4c320a7d-5c6f-4409-bd10-4953dc19484a.png) + +This is a two-step approval process that involves three lanes including the client and reviewers in the process. +After the client submits the form, the first step reviewer accepts/rejects the application with comments. If accepted, the application goes to the next step, and if rejected client needs to resubmit the form for approval. +After the first step,  the next level reviewer approves the application and the process is completed, if rejected, the client is notified to resubmit the form. + +# Background Check Robot +Refer this [Background Check](https://github.com/AOT-Technologies/forms-flow-ai-extensions/blob/master/rpa-robocorp-extension/external-client-extension/starter-examples/robots/background-check-robot-readme.md) Robot and [Usage](https://github.com/AOT-Technologies/forms-flow-ai-extensions/blob/master/rpa-robocorp-extension/external-client-extension/USAGE.md). diff --git a/docs/bpm-examples/camunda/notification-email.md b/docs/bpm-examples/camunda/notification-email.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/bpm-examples/camunda/one-step-approval.md b/docs/bpm-examples/camunda/one-step-approval.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/bpm-examples/camunda/two-step-approval-with-rpa.md b/docs/bpm-examples/camunda/two-step-approval-with-rpa.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/bpm-examples/camunda/two-step-approval.md b/docs/bpm-examples/camunda/two-step-approval.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/rpa-examples/robocorp/background-check-robot.md b/docs/rpa-examples/robocorp/background-check-robot.md new file mode 100644 index 0000000..e69de29 diff --git a/forms-examples/README.md b/forms-examples/README.md new file mode 100644 index 0000000..9d46ddc --- /dev/null +++ b/forms-examples/README.md @@ -0,0 +1,5 @@ +# Forms-examples +forms-example folder contains a formio zip file. There are a few sample JSON files that may be downloaded and uploaded on formsflow.ai. + + +![image1](https://user-images.githubusercontent.com/96716528/207526891-e5f47120-b2ce-4bf9-938f-cf24247ee1fc.png) diff --git a/forms-examples/business-license-example.json b/forms-examples/business-license-example.json new file mode 100644 index 0000000..31623cb --- /dev/null +++ b/forms-examples/business-license-example.json @@ -0,0 +1,4907 @@ +{ + "forms": [ + { + "formTitle": "Business License Testing", + "formDescription": "

checking latest with description

", + "anonymous": true, + "type": "main", + "taskVariable": "[{\"key\": \"eMail\", \"label\": \"Business E-Mail\"}, {\"key\": \"businessOperatingName\", \"label\": \"Business Operating Name\"}, {\"key\": \"natureOfBusiness\", \"label\": \"Nature of Business\"}, {\"key\": \"numberOfEmployees\", \"label\": \"Number of Employees\"}, {\"key\": \"typeOfBussiness\", \"label\": \" Business Type\"}]", + "content": { + "title": "Business License Testing", + "name": "duplicate-version-9a1436", + "path": "duplicate-version-9a1436", + "type": "form", + "display": "form", + "tags": [ + "common" + ], + "isBundle": false, + "components": [ + { + "label": "Columns", + "columns": [ + { + "components": [ + { + "label": "HTML", + "tag": "div", + "attrs": [ + { + "attr": "", + "value": "" + } + ], + "content": "

NEW BUSINESS LICENCE APPLICATION

", + "refreshOnChange": false, + "customClass": "text-center", + "tableView": false, + "key": "html7", + "type": "htmlelement", + "input": false, + "hideOnChildrenHidden": false, + "placeholder": "", + "prefix": "", + "suffix": "", + "multiple": false, + "defaultValue": null, + "protected": false, + "unique": false, + "persistent": false, + "hidden": false, + "clearOnHide": true, + "refreshOn": "", + "redrawOn": "", + "modalEdit": false, + "labelPosition": "top", + "description": "", + "errorLabel": "", + "tooltip": "", + "hideLabel": false, + "tabindex": "", + "disabled": false, + "autofocus": false, + "dbIndex": false, + "customDefaultValue": "", + "calculateValue": "", + "calculateServer": false, + "widget": null, + "attributes": {}, + "validateOn": "change", + "validate": { + "required": false, + "custom": "", + "customPrivate": false, + "strictDateValidation": false, + "multiple": false, + "unique": false + }, + "conditional": { + "show": null, + "when": null, + "eq": "" + }, + "overlay": { + "style": "", + "left": "", + "top": "", + "width": "", + "height": "" + }, + "allowCalculateOverride": false, + "encrypted": false, + "showCharCount": false, + "showWordCount": false, + "properties": {}, + "allowMultipleMasks": false, + "id": "enimysb", + "dataGridLabel": false, + "addons": [] + } + ], + "width": 12, + "offset": 0, + "push": 0, + "pull": 0, + "size": "md", + "currentWidth": 12 + }, + { + "components": [ + { + "html": "
", + "label": "Content", + "customClass": "", + "refreshOnChange": false, + "hidden": false, + "tableView": false, + "modalEdit": false, + "key": "content", + "tags": [], + "properties": {}, + "conditional": { + "show": null, + "when": null, + "eq": "", + "json": "" + }, + "customConditional": "", + "logic": [], + "attributes": {}, + "overlay": { + "style": "", + "page": "", + "left": "", + "top": "", + "width": "", + "height": "" + }, + "type": "content", + "input": false, + "hideOnChildrenHidden": false, + "placeholder": "", + "prefix": "", + "suffix": "", + "multiple": false, + "defaultValue": null, + "protected": false, + "unique": false, + "persistent": true, + "clearOnHide": true, + "refreshOn": "", + "redrawOn": "", + "labelPosition": "top", + "description": "", + "errorLabel": "", + "tooltip": "", + "hideLabel": false, + "tabindex": "", + "disabled": false, + "autofocus": false, + "dbIndex": false, + "customDefaultValue": "", + "calculateValue": "", + "calculateServer": false, + "widget": null, + "validateOn": "change", + "validate": { + "required": false, + "custom": "", + "customPrivate": false, + "strictDateValidation": false, + "multiple": false, + "unique": false + }, + "allowCalculateOverride": false, + "encrypted": false, + "showCharCount": false, + "showWordCount": false, + "allowMultipleMasks": false, + "id": "emrze8e", + "dataGridLabel": false, + "addons": [] + } + ], + "width": 4, + "offset": 0, + "push": 0, + "pull": 0, + "size": "md", + "currentWidth": 4 + }, + { + "components": [ + { + "label": "HTML", + "tag": "p", + "className": "text-right", + "attrs": [ + { + "attr": "", + "value": "" + } + ], + "content": "\nFinance Department
\nBusiness Licensing Division
\n1 Centennial Square
\nVictoria BC V8W 1P6
\n
", + "refreshOnChange": false, + "customClass": "", + "hidden": false, + "tableView": false, + "modalEdit": false, + "key": "html", + "tags": [], + "properties": {}, + "conditional": { + "show": null, + "when": null, + "eq": "", + "json": "" + }, + "customConditional": "", + "logic": [], + "attributes": {}, + "overlay": { + "style": "", + "page": "", + "left": "", + "top": "", + "width": "", + "height": "" + }, + "type": "htmlelement", + "input": false, + "hideOnChildrenHidden": false, + "placeholder": "", + "prefix": "", + "suffix": "", + "multiple": false, + "defaultValue": null, + "protected": false, + "unique": false, + "persistent": false, + "clearOnHide": true, + "refreshOn": "", + "redrawOn": "", + "labelPosition": "top", + "description": "", + "errorLabel": "", + "tooltip": "", + "hideLabel": false, + "tabindex": "", + "disabled": false, + "autofocus": false, + "dbIndex": false, + "customDefaultValue": "", + "calculateValue": "", + "calculateServer": false, + "widget": null, + "validateOn": "change", + "validate": { + "required": false, + "custom": "", + "customPrivate": false, + "strictDateValidation": false, + "multiple": false, + "unique": false + }, + "allowCalculateOverride": false, + "encrypted": false, + "showCharCount": false, + "showWordCount": false, + "allowMultipleMasks": false, + "id": "eu6zg3", + "dataGridLabel": false, + "addons": [] + } + ], + "size": "md", + "offset": 0, + "push": 0, + "pull": 0, + "width": 8, + "currentWidth": 8 + } + ], + "autoAdjust": false, + "hideOnChildrenHidden": false, + "customClass": "", + "hidden": false, + "hideLabel": false, + "tableView": false, + "modalEdit": false, + "key": "columns14", + "tags": [], + "properties": {}, + "conditional": { + "show": null, + "when": null, + "eq": "", + "json": "" + }, + "customConditional": "", + "logic": [], + "attributes": {}, + "overlay": { + "style": "", + "page": "", + "left": "", + "top": "", + "width": "", + "height": "" + }, + "type": "columns", + "input": false, + "placeholder": "", + "prefix": "", + "suffix": "", + "multiple": false, + "defaultValue": null, + "protected": false, + "unique": false, + "persistent": false, + "clearOnHide": false, + "refreshOn": "", + "redrawOn": "", + "labelPosition": "top", + "description": "", + "errorLabel": "", + "tooltip": "", + "tabindex": "", + "disabled": false, + "autofocus": false, + "dbIndex": false, + "customDefaultValue": "", + "calculateValue": "", + "calculateServer": false, + "widget": null, + "validateOn": "change", + "validate": { + "required": false, + "custom": "", + "customPrivate": false, + "strictDateValidation": false, + "multiple": false, + "unique": false + }, + "allowCalculateOverride": false, + "encrypted": false, + "showCharCount": false, + "showWordCount": false, + "allowMultipleMasks": false, + "tree": false, + "id": "e4j7lkq", + "dataGridLabel": false, + "addons": [], + "lazyLoad": false + }, + { + "label": "HTML", + "tag": "p", + "className": "", + "attrs": [ + { + "attr": "", + "value": "" + } + ], + "content": "\n Application must be completed in full. For information, or assistance completing this form, please contact Business\nLicensing Services 250.361.0572 ext.1 or by email at businesslicence@victoria.ca. You can mail your completed\napplication to the above address. Please be advised this document is subject to the Freedom of Information and\nProtection of Privacy Act and access can be requested.\n", + "refreshOnChange": false, + "customClass": "", + "hidden": false, + "tableView": false, + "modalEdit": false, + "key": "html1", + "tags": [], + "properties": {}, + "conditional": { + "show": null, + "when": null, + "eq": "", + "json": "" + }, + "customConditional": "", + "logic": [], + "attributes": {}, + "overlay": { + "style": "", + "page": "", + "left": "", + "top": "", + "width": "", + "height": "" + }, + "type": "htmlelement", + "input": false, + "hideOnChildrenHidden": false, + "placeholder": "", + "prefix": "", + "suffix": "", + "multiple": false, + "defaultValue": null, + "protected": false, + "unique": false, + "persistent": false, + "clearOnHide": true, + "refreshOn": "", + "redrawOn": "", + "labelPosition": "top", + "description": "", + "errorLabel": "", + "tooltip": "", + "hideLabel": false, + "tabindex": "", + "disabled": false, + "autofocus": false, + "dbIndex": false, + "customDefaultValue": "", + "calculateValue": "", + "calculateServer": false, + "widget": null, + "validateOn": "change", + "validate": { + "required": false, + "custom": "", + "customPrivate": false, + "strictDateValidation": false, + "multiple": false, + "unique": false + }, + "allowCalculateOverride": false, + "encrypted": false, + "showCharCount": false, + "showWordCount": false, + "allowMultipleMasks": false, + "id": "e6ai9rj", + "dataGridLabel": false, + "addons": [] + }, + { + "title": "Business Information", + "theme": "default", + "tooltip": "", + "customClass": "", + "collapsible": true, + "hidden": false, + "hideLabel": false, + "disabled": false, + "modalEdit": false, + "key": "generalBusinessLicenceApplication", + "tags": [], + "properties": {}, + "customConditional": "switch(data.applicationStatus) {\n case \"New\":\n case \"Approved\":\n case \"Rejected\":\n case \"Resubmitted\":\n case \"Reviewed\":\n component.disabled = true;\n break;\n default: component.disabled = false;\n};", + "conditional": { + "json": "", + "show": null, + "when": null, + "eq": "" + }, + "logic": [ + { + "name": "disable Business Information", + "trigger": { + "type": "simple", + "simple": { + "show": true, + "when": "applicationStatus", + "eq": "New" + } + }, + "actions": [ + { + "name": "disable Buisness", + "type": "property", + "property": { + "label": "Disabled", + "value": "disabled", + "type": "boolean" + }, + "state": true + } + ] + }, + { + "name": "disable Business Information1", + "trigger": { + "type": "simple", + "simple": { + "show": true, + "when": "applicationStatus", + "eq": "Reviewed" + } + }, + "actions": [ + { + "name": "disable Business Information 1", + "type": "property", + "property": { + "label": "Disabled", + "value": "disabled", + "type": "boolean" + }, + "state": true + } + ] + }, + { + "name": "disable Business Information2", + "trigger": { + "type": "simple", + "simple": { + "show": true, + "when": "applicationStatus", + "eq": "Resubmitted" + } + }, + "actions": [ + { + "name": "disable Business Information2", + "type": "property", + "property": { + "label": "Disabled", + "value": "disabled", + "type": "boolean" + }, + "state": true + } + ] + } + ], + "attributes": {}, + "overlay": { + "style": "", + "page": "", + "left": "", + "top": "", + "width": "", + "height": "" + }, + "type": "panel", + "label": "Business Information", + "breadcrumb": "default", + "tabindex": "", + "tableView": false, + "input": false, + "components": [ + { + "label": "Business Operating Name", + "autofocus": true, + "tableView": true, + "case": "mixed", + "validate": { + "required": true, + "custom": "", + "customPrivate": false, + "strictDateValidation": false, + "multiple": false, + "unique": false, + "minLength": "", + "maxLength": "", + "pattern": "" + }, + "key": "businessOperatingName", + "type": "textfield", + "input": true, + "hideOnChildrenHidden": false, + "width": 3, + "placeholder": "", + "prefix": "", + "customClass": "", + "suffix": "", + "multiple": false, + "defaultValue": null, + "protected": false, + "unique": false, + "persistent": true, + "hidden": false, + "clearOnHide": true, + "refreshOn": "", + "redrawOn": "", + "modalEdit": false, + "dataGridLabel": false, + "labelPosition": "top", + "description": "", + "errorLabel": "", + "tooltip": "", + "hideLabel": false, + "tabindex": "", + "disabled": false, + "dbIndex": false, + "customDefaultValue": "", + "calculateValue": "", + "calculateServer": false, + "widget": { + "type": "input" + }, + "attributes": {}, + "validateOn": "change", + "conditional": { + "show": null, + "when": null, + "eq": "" + }, + "overlay": { + "style": "", + "left": "", + "top": "", + "width": "", + "height": "" + }, + "allowCalculateOverride": false, + "encrypted": false, + "showCharCount": false, + "showWordCount": false, + "properties": {}, + "allowMultipleMasks": false, + "mask": false, + "inputType": "text", + "inputFormat": "plain", + "inputMask": "", + "spellcheck": true, + "id": "eptq11", + "addons": [], + "displayMask": "", + "truncateMultipleSpaces": false + }, + { + "label": "Columns", + "columns": [ + { + "components": [ + { + "label": "Proposed Business Start Date", + "labelPosition": "top", + "displayInTimezone": "viewer", + "useLocaleSettings": false, + "allowInput": true, + "format": "MM/dd/yyyy", + "placeholder": "", + "description": "", + "tooltip": "", + "customClass": "", + "tabindex": "", + "hidden": false, + "hideLabel": false, + "autofocus": false, + "disabled": false, + "tableView": false, + "modalEdit": false, + "shortcutButtons": [], + "enableDate": true, + "enableMinDateInput": false, + "datePicker": { + "minDate": null, + "maxDate": null, + "disable": "", + "disableFunction": "", + "disableWeekends": false, + "disableWeekdays": false, + "showWeeks": true, + "startingDay": 0, + "initDate": "", + "minMode": "day", + "maxMode": "year", + "yearRows": 4, + "yearColumns": 5 + }, + "enableMaxDateInput": false, + "enableTime": false, + "timePicker": { + "showMeridian": true, + "hourStep": 1, + "minuteStep": 1, + "readonlyInput": false, + "mousewheel": true, + "arrowkeys": true + }, + "multiple": false, + "defaultValue": "", + "defaultDate": "", + "customOptions": {}, + "persistent": true, + "protected": false, + "dbIndex": false, + "encrypted": false, + "redrawOn": "", + "clearOnHide": true, + "customDefaultValue": "", + "calculateValue": "", + "calculateServer": false, + "allowCalculateOverride": false, + "validate": { + "required": true, + "customMessage": "", + "custom": "", + "customPrivate": false, + "json": "", + "strictDateValidation": false, + "multiple": false, + "unique": false + }, + "unique": false, + "validateOn": "change", + "errorLabel": "", + "key": "proposedBusinessStartDate", + "tags": [], + "properties": {}, + "conditional": { + "show": null, + "when": null, + "eq": "", + "json": "" + }, + "customConditional": "", + "logic": [], + "attributes": { + "autocomplete": "off" + }, + "overlay": { + "style": "", + "page": "", + "left": "", + "top": "", + "width": "", + "height": "" + }, + "type": "datetime", + "timezone": "", + "input": true, + "widget": { + "type": "calendar", + "displayInTimezone": "viewer", + "locale": "en", + "useLocaleSettings": false, + "allowInput": true, + "mode": "single", + "enableTime": false, + "noCalendar": false, + "format": "MM/dd/yyyy", + "hourIncrement": 1, + "minuteIncrement": 1, + "time_24hr": false, + "minDate": null, + "disabledDates": "", + "disableWeekends": false, + "disableWeekdays": false, + "disableFunction": "", + "maxDate": null + }, + "hideOnChildrenHidden": false, + "suffix": "", + "prefix": "", + "refreshOn": "", + "dataGridLabel": false, + "showCharCount": false, + "showWordCount": false, + "allowMultipleMasks": false, + "datepickerMode": "day", + "id": "eed03ke", + "addons": [] + }, + { + "label": "Business Website", + "tableView": false, + "key": "businessWebsite", + "type": "url", + "input": true, + "hideOnChildrenHidden": false, + "placeholder": "", + "prefix": "", + "customClass": "", + "suffix": "", + "multiple": false, + "defaultValue": null, + "protected": false, + "unique": false, + "persistent": true, + "hidden": false, + "clearOnHide": true, + "refreshOn": "", + "redrawOn": "", + "modalEdit": false, + "dataGridLabel": false, + "labelPosition": "top", + "description": "", + "errorLabel": "", + "tooltip": "", + "hideLabel": false, + "tabindex": "", + "disabled": false, + "autofocus": false, + "dbIndex": false, + "customDefaultValue": "", + "calculateValue": "", + "calculateServer": false, + "widget": { + "type": "input" + }, + "attributes": {}, + "validateOn": "change", + "validate": { + "required": false, + "custom": "", + "customPrivate": false, + "strictDateValidation": false, + "multiple": false, + "unique": false, + "minLength": "", + "maxLength": "", + "pattern": "" + }, + "conditional": { + "show": null, + "when": null, + "eq": "" + }, + "overlay": { + "style": "", + "left": "", + "top": "", + "width": "", + "height": "" + }, + "allowCalculateOverride": false, + "encrypted": false, + "showCharCount": false, + "showWordCount": false, + "properties": {}, + "allowMultipleMasks": false, + "mask": false, + "inputType": "url", + "inputFormat": "plain", + "inputMask": "", + "spellcheck": true, + "id": "eekkj1xk", + "addons": [], + "displayMask": "", + "truncateMultipleSpaces": false + }, + { + "label": "Business E-Mail", + "tableView": false, + "validate": { + "required": true, + "custom": "", + "customPrivate": false, + "strictDateValidation": false, + "multiple": false, + "unique": false, + "minLength": "", + "maxLength": "", + "pattern": "" + }, + "key": "eMail", + "type": "email", + "input": true, + "hideOnChildrenHidden": false, + "placeholder": "", + "prefix": "", + "customClass": "", + "suffix": "", + "multiple": false, + "defaultValue": null, + "protected": false, + "unique": false, + "persistent": true, + "hidden": false, + "clearOnHide": true, + "refreshOn": "", + "redrawOn": "", + "modalEdit": false, + "dataGridLabel": false, + "labelPosition": "top", + "description": "", + "errorLabel": "", + "tooltip": "", + "hideLabel": false, + "tabindex": "", + "disabled": false, + "autofocus": false, + "dbIndex": false, + "customDefaultValue": "", + "calculateValue": "", + "calculateServer": false, + "widget": { + "type": "input" + }, + "attributes": {}, + "validateOn": "change", + "conditional": { + "show": null, + "when": null, + "eq": "" + }, + "overlay": { + "style": "", + "left": "", + "top": "", + "width": "", + "height": "" + }, + "allowCalculateOverride": false, + "encrypted": false, + "showCharCount": false, + "showWordCount": false, + "properties": {}, + "allowMultipleMasks": false, + "mask": false, + "inputType": "email", + "inputFormat": "plain", + "inputMask": "", + "spellcheck": true, + "kickbox": { + "enabled": false + }, + "id": "ej1qs4", + "addons": [], + "displayMask": "", + "truncateMultipleSpaces": false + }, + { + "label": "Alternate Email Id", + "labelPosition": "top", + "placeholder": "", + "description": "", + "tooltip": "", + "prefix": "", + "suffix": "", + "widget": { + "type": "input" + }, + "inputMask": "", + "allowMultipleMasks": false, + "customClass": "", + "tabindex": "", + "autocomplete": "", + "hidden": false, + "hideLabel": false, + "showWordCount": false, + "showCharCount": false, + "mask": false, + "autofocus": false, + "spellcheck": true, + "disabled": false, + "tableView": false, + "modalEdit": false, + "multiple": false, + "persistent": true, + "inputFormat": "plain", + "protected": false, + "dbIndex": false, + "case": "", + "encrypted": false, + "redrawOn": "", + "clearOnHide": true, + "customDefaultValue": "", + "calculateValue": "", + "calculateServer": false, + "allowCalculateOverride": false, + "validateOn": "change", + "validate": { + "required": false, + "pattern": "", + "customMessage": "", + "custom": "", + "customPrivate": false, + "json": "", + "minLength": "", + "maxLength": "", + "strictDateValidation": false, + "multiple": false, + "unique": false + }, + "unique": false, + "errorLabel": "", + "key": "alternateEmail", + "tags": [], + "properties": {}, + "conditional": { + "show": null, + "when": null, + "eq": "", + "json": "" + }, + "customConditional": "", + "logic": [], + "attributes": {}, + "overlay": { + "style": "", + "page": "", + "left": "", + "top": "", + "width": "", + "height": "" + }, + "type": "textfield", + "input": true, + "hideOnChildrenHidden": false, + "refreshOn": "", + "dataGridLabel": false, + "inputType": "text", + "id": "eka992c", + "defaultValue": "", + "addons": [], + "displayMask": "", + "truncateMultipleSpaces": false + } + ], + "width": 6, + "offset": 0, + "push": 0, + "pull": 0, + "size": "md", + "currentWidth": 6 + }, + { + "components": [ + { + "label": "Nature of Business", + "tableView": true, + "validate": { + "required": true, + "custom": "", + "customPrivate": false, + "strictDateValidation": false, + "multiple": false, + "unique": false, + "minLength": "", + "maxLength": "", + "pattern": "" + }, + "key": "natureOfBusiness", + "type": "textfield", + "input": true, + "hideOnChildrenHidden": false, + "placeholder": "", + "prefix": "", + "customClass": "", + "suffix": "", + "multiple": false, + "defaultValue": null, + "protected": false, + "unique": false, + "persistent": true, + "hidden": false, + "clearOnHide": true, + "refreshOn": "", + "redrawOn": "", + "modalEdit": false, + "dataGridLabel": false, + "labelPosition": "top", + "description": "", + "errorLabel": "", + "tooltip": "", + "hideLabel": false, + "tabindex": "", + "disabled": false, + "autofocus": false, + "dbIndex": false, + "customDefaultValue": "", + "calculateValue": "", + "calculateServer": false, + "widget": { + "type": "input" + }, + "attributes": {}, + "validateOn": "change", + "conditional": { + "show": null, + "when": null, + "eq": "" + }, + "overlay": { + "style": "", + "left": "", + "top": "", + "width": "", + "height": "" + }, + "allowCalculateOverride": false, + "encrypted": false, + "showCharCount": false, + "showWordCount": false, + "properties": {}, + "allowMultipleMasks": false, + "mask": false, + "inputType": "text", + "inputFormat": "plain", + "inputMask": "", + "spellcheck": true, + "id": "euh62lf", + "addons": [], + "displayMask": "", + "truncateMultipleSpaces": false + }, + { + "label": "Number of Employees", + "tooltip": "Not including owners", + "mask": false, + "spellcheck": true, + "tableView": false, + "delimiter": false, + "requireDecimal": false, + "inputFormat": "plain", + "validate": { + "required": true, + "custom": "", + "customPrivate": false, + "strictDateValidation": false, + "multiple": false, + "unique": false, + "min": "", + "max": "", + "step": "any", + "integer": "" + }, + "key": "numberOfEmployees", + "type": "number", + "input": true, + "hideOnChildrenHidden": false, + "placeholder": "", + "prefix": "", + "customClass": "", + "suffix": "", + "multiple": false, + "defaultValue": null, + "protected": false, + "unique": false, + "persistent": true, + "hidden": false, + "clearOnHide": true, + "refreshOn": "", + "redrawOn": "", + "modalEdit": false, + "dataGridLabel": false, + "labelPosition": "top", + "description": "", + "errorLabel": "", + "hideLabel": false, + "tabindex": "", + "disabled": false, + "autofocus": false, + "dbIndex": false, + "customDefaultValue": "", + "calculateValue": "", + "calculateServer": false, + "widget": { + "type": "input" + }, + "attributes": {}, + "validateOn": "change", + "conditional": { + "show": null, + "when": null, + "eq": "" + }, + "overlay": { + "style": "", + "left": "", + "top": "", + "width": "", + "height": "" + }, + "allowCalculateOverride": false, + "encrypted": false, + "showCharCount": false, + "showWordCount": false, + "properties": {}, + "allowMultipleMasks": false, + "id": "eeeohb", + "addons": [] + }, + { + "label": "Business Phone", + "tableView": false, + "key": "businessPhone", + "type": "phoneNumber", + "input": true, + "hideOnChildrenHidden": false, + "placeholder": "", + "prefix": "", + "customClass": "", + "suffix": "", + "multiple": false, + "defaultValue": null, + "protected": false, + "unique": false, + "persistent": true, + "hidden": false, + "clearOnHide": true, + "refreshOn": "", + "redrawOn": "", + "modalEdit": false, + "dataGridLabel": false, + "labelPosition": "top", + "description": "", + "errorLabel": "", + "tooltip": "", + "hideLabel": false, + "tabindex": "", + "disabled": false, + "autofocus": false, + "dbIndex": false, + "customDefaultValue": "", + "calculateValue": "", + "calculateServer": false, + "widget": { + "type": "input" + }, + "attributes": {}, + "validateOn": "change", + "validate": { + "required": false, + "custom": "", + "customPrivate": false, + "strictDateValidation": false, + "multiple": false, + "unique": false, + "minLength": "", + "maxLength": "", + "pattern": "" + }, + "conditional": { + "show": null, + "when": null, + "eq": "" + }, + "overlay": { + "style": "", + "left": "", + "top": "", + "width": "", + "height": "" + }, + "allowCalculateOverride": false, + "encrypted": false, + "showCharCount": false, + "showWordCount": false, + "properties": {}, + "allowMultipleMasks": false, + "mask": false, + "inputType": "tel", + "inputFormat": "plain", + "inputMask": "(999) 999-9999", + "spellcheck": true, + "id": "e345vu6", + "addons": [], + "displayMask": "", + "truncateMultipleSpaces": false, + "inputMode": "decimal" + } + ], + "width": 6, + "offset": 0, + "push": 0, + "pull": 0, + "size": "md", + "currentWidth": 6 + }, + { + "components": [ + { + "label": "Business Address", + "labelPosition": "top", + "placeholder": "", + "description": "", + "tooltip": "", + "prefix": "", + "suffix": "", + "widget": { + "type": "input" + }, + "inputMask": "", + "allowMultipleMasks": false, + "customClass": "", + "tabindex": "", + "autocomplete": "", + "hidden": false, + "hideLabel": false, + "showWordCount": false, + "showCharCount": false, + "mask": false, + "autofocus": false, + "spellcheck": true, + "disabled": false, + "tableView": false, + "modalEdit": false, + "multiple": false, + "persistent": true, + "inputFormat": "plain", + "protected": false, + "dbIndex": false, + "case": "", + "encrypted": false, + "redrawOn": "", + "clearOnHide": true, + "customDefaultValue": "", + "calculateValue": "", + "calculateServer": false, + "allowCalculateOverride": false, + "validateOn": "change", + "validate": { + "required": false, + "pattern": "", + "customMessage": "", + "custom": "", + "customPrivate": false, + "json": "", + "minLength": "", + "maxLength": "", + "strictDateValidation": false, + "multiple": false, + "unique": false + }, + "unique": false, + "errorLabel": "", + "key": "businessAddress", + "tags": [], + "properties": {}, + "conditional": { + "show": null, + "when": null, + "eq": "", + "json": "" + }, + "customConditional": "", + "logic": [], + "attributes": {}, + "overlay": { + "style": "", + "page": "", + "left": "", + "top": "", + "width": "", + "height": "" + }, + "type": "textfield", + "input": true, + "hideOnChildrenHidden": false, + "refreshOn": "", + "dataGridLabel": false, + "inputType": "text", + "id": "evhs9ds", + "defaultValue": "", + "addons": [], + "displayMask": "", + "truncateMultipleSpaces": false + }, + { + "label": "Mailing Address if different from Business Address", + "labelPosition": "top", + "placeholder": "", + "description": "", + "tooltip": "", + "prefix": "", + "suffix": "", + "widget": { + "type": "input" + }, + "inputMask": "", + "allowMultipleMasks": false, + "customClass": "", + "tabindex": "", + "autocomplete": "", + "hidden": false, + "hideLabel": false, + "showWordCount": false, + "showCharCount": false, + "mask": false, + "autofocus": false, + "spellcheck": true, + "disabled": false, + "tableView": false, + "modalEdit": false, + "multiple": false, + "persistent": true, + "inputFormat": "plain", + "protected": false, + "dbIndex": false, + "case": "", + "encrypted": false, + "redrawOn": "", + "clearOnHide": true, + "customDefaultValue": "", + "calculateValue": "", + "calculateServer": false, + "allowCalculateOverride": false, + "validateOn": "change", + "validate": { + "required": false, + "pattern": "", + "customMessage": "", + "custom": "", + "customPrivate": false, + "json": "", + "minLength": "", + "maxLength": "", + "strictDateValidation": false, + "multiple": false, + "unique": false + }, + "unique": false, + "errorLabel": "", + "key": "mailingAddress", + "tags": [], + "properties": {}, + "conditional": { + "show": null, + "when": null, + "eq": "", + "json": "" + }, + "customConditional": "", + "logic": [], + "attributes": {}, + "overlay": { + "style": "", + "page": "", + "left": "", + "top": "", + "width": "", + "height": "" + }, + "type": "textfield", + "input": true, + "hideOnChildrenHidden": false, + "refreshOn": "", + "dataGridLabel": false, + "inputType": "text", + "id": "e7f5obf", + "defaultValue": "", + "addons": [], + "displayMask": "", + "truncateMultipleSpaces": false + } + ], + "size": "md", + "width": 12, + "offset": 0, + "push": 0, + "pull": 0, + "currentWidth": 12 + } + ], + "tableView": false, + "key": "columns5", + "type": "columns", + "input": false, + "placeholder": "", + "prefix": "", + "customClass": "", + "suffix": "", + "multiple": false, + "defaultValue": null, + "protected": false, + "unique": false, + "persistent": false, + "hidden": false, + "clearOnHide": false, + "refreshOn": "", + "redrawOn": "", + "modalEdit": false, + "dataGridLabel": false, + "labelPosition": "top", + "description": "", + "errorLabel": "", + "tooltip": "", + "hideLabel": false, + "tabindex": "", + "disabled": false, + "autofocus": false, + "dbIndex": false, + "customDefaultValue": "", + "calculateValue": "", + "calculateServer": false, + "widget": null, + "attributes": {}, + "validateOn": "change", + "validate": { + "required": false, + "custom": "", + "customPrivate": false, + "strictDateValidation": false, + "multiple": false, + "unique": false + }, + "conditional": { + "show": null, + "when": null, + "eq": "" + }, + "overlay": { + "style": "", + "left": "", + "top": "", + "width": "", + "height": "" + }, + "allowCalculateOverride": false, + "encrypted": false, + "showCharCount": false, + "showWordCount": false, + "properties": {}, + "allowMultipleMasks": false, + "tree": false, + "autoAdjust": false, + "hideOnChildrenHidden": false, + "id": "eygqh9o", + "addons": [], + "lazyLoad": false + } + ], + "collapsed": false, + "placeholder": "", + "prefix": "", + "suffix": "", + "multiple": false, + "defaultValue": null, + "protected": false, + "unique": false, + "persistent": false, + "clearOnHide": false, + "refreshOn": "", + "redrawOn": "", + "dataGridLabel": false, + "labelPosition": "top", + "description": "", + "errorLabel": "", + "autofocus": false, + "dbIndex": false, + "customDefaultValue": "", + "calculateValue": "", + "calculateServer": false, + "widget": null, + "validateOn": "change", + "validate": { + "required": false, + "custom": "", + "customPrivate": false, + "strictDateValidation": false, + "multiple": false, + "unique": false + }, + "allowCalculateOverride": false, + "encrypted": false, + "showCharCount": false, + "showWordCount": false, + "allowMultipleMasks": false, + "tree": false, + "id": "ei348h", + "addons": [], + "lazyLoad": false + }, + { + "title": "Business structure Information", + "collapsible": true, + "key": "businessStructureInformation", + "customConditional": "switch(data.applicationStatus) {\n case \"New\":\n case \"Approved\":\n case \"Rejected\":\n case \"Resubmitted\":\n case \"Reviewed\":\n component.disabled = true;\n break;\n default: component.disabled = false;\n};", + "logic": [ + { + "name": "disableBusinessStructure", + "trigger": { + "type": "simple", + "simple": { + "show": true, + "when": "applicationStatus", + "eq": "New" + } + }, + "actions": [ + { + "name": "disableBusinessStructure", + "type": "property", + "property": { + "label": "Disabled", + "value": "disabled", + "type": "boolean" + }, + "state": true + } + ] + }, + { + "name": "disableBusinessStructure1", + "trigger": { + "type": "simple", + "simple": { + "show": true, + "when": "applicationStatus", + "eq": "Reviewed" + } + }, + "actions": [ + { + "name": "disableBusinessStructure1", + "type": "property", + "property": { + "label": "Disabled", + "value": "disabled", + "type": "boolean" + }, + "state": true + } + ] + }, + { + "name": "disableBusinessStructure2", + "trigger": { + "type": "simple", + "simple": { + "show": true, + "when": "applicationStatus", + "eq": "Resubmitted" + } + }, + "actions": [ + { + "name": "disableBusinessStructure2", + "type": "property", + "property": { + "label": "Disabled", + "value": "disabled", + "type": "boolean" + }, + "state": true + } + ] + } + ], + "type": "panel", + "label": "Business structure Information", + "tableView": false, + "input": false, + "components": [ + { + "label": "1. Type of Business", + "optionsLabelPosition": "right", + "inline": true, + "tableView": false, + "values": [ + { + "label": "Sole Proprietor", + "value": "Sole Proprietor", + "shortcut": "" + }, + { + "label": "Partnership", + "value": "Partnership", + "shortcut": "" + }, + { + "label": "Corporation", + "value": "Corporation", + "shortcut": "" + } + ], + "validate": { + "required": true, + "custom": "", + "customPrivate": false, + "strictDateValidation": false, + "multiple": false, + "unique": false, + "onlyAvailableItems": false + }, + "key": "typeOfBussiness", + "type": "radio", + "input": true, + "placeholder": "", + "prefix": "", + "customClass": "", + "suffix": "", + "multiple": false, + "defaultValue": null, + "protected": false, + "unique": false, + "persistent": true, + "hidden": false, + "clearOnHide": true, + "refreshOn": "", + "redrawOn": "", + "modalEdit": false, + "dataGridLabel": false, + "labelPosition": "top", + "description": "", + "errorLabel": "", + "tooltip": "", + "hideLabel": false, + "tabindex": "", + "disabled": false, + "autofocus": false, + "dbIndex": false, + "customDefaultValue": "", + "calculateValue": "", + "calculateServer": false, + "widget": null, + "attributes": {}, + "validateOn": "change", + "conditional": { + "show": null, + "when": null, + "eq": "" + }, + "overlay": { + "style": "", + "left": "", + "top": "", + "width": "", + "height": "" + }, + "allowCalculateOverride": false, + "encrypted": false, + "showCharCount": false, + "showWordCount": false, + "properties": {}, + "allowMultipleMasks": false, + "inputType": "radio", + "fieldSet": false, + "id": "ee180vh", + "addons": [], + "dataSrc": "values", + "authenticate": false, + "ignoreCache": false, + "template": "{{ item.label }}", + "data": { + "url": "" + } + }, + { + "label": "Bussiness Type", + "tableView": false, + "key": "bussinessType", + "customConditional": "show = !!data.typeOfBussiness;", + "type": "well", + "input": false, + "components": [ + { + "label": "1.a Sole Proprietors Name", + "tooltip": "If you plan to operate a business on your own, either under a business name or your own name", + "tableView": false, + "key": "soleProprietorsNameIfYouPlanToOperateABusinessOnYourOwnEitherUnderABusinessNameOrYourOwnName", + "conditional": { + "show": true, + "when": "typeOfBussiness", + "eq": "Sole Proprietor" + }, + "type": "textfield", + "input": true, + "hideOnChildrenHidden": false, + "width": 3, + "placeholder": "", + "prefix": "", + "customClass": "", + "suffix": "", + "multiple": false, + "defaultValue": null, + "protected": false, + "unique": false, + "persistent": true, + "hidden": false, + "clearOnHide": true, + "refreshOn": "", + "redrawOn": "", + "modalEdit": false, + "dataGridLabel": false, + "labelPosition": "top", + "description": "", + "errorLabel": "", + "hideLabel": false, + "tabindex": "", + "disabled": false, + "autofocus": false, + "dbIndex": false, + "customDefaultValue": "", + "calculateValue": "", + "calculateServer": false, + "widget": { + "type": "input" + }, + "attributes": {}, + "validateOn": "change", + "validate": { + "required": false, + "custom": "", + "customPrivate": false, + "strictDateValidation": false, + "multiple": false, + "unique": false, + "minLength": "", + "maxLength": "", + "pattern": "" + }, + "overlay": { + "style": "", + "left": "", + "top": "", + "width": "", + "height": "" + }, + "allowCalculateOverride": false, + "encrypted": false, + "showCharCount": false, + "showWordCount": false, + "properties": {}, + "allowMultipleMasks": false, + "mask": false, + "inputType": "text", + "inputFormat": "plain", + "inputMask": "", + "spellcheck": true, + "id": "evbea8", + "addons": [], + "displayMask": "", + "truncateMultipleSpaces": false + }, + { + "label": "1.a Partnership Name(s)", + "tooltip": "If you plan to operate the business with one or more partners", + "tableView": false, + "key": "partnershipNameSIfYouPlanToOperateTheBusinessWithOneOrMorePartners", + "conditional": { + "show": true, + "when": "typeOfBussiness", + "eq": "Partnership" + }, + "type": "textfield", + "input": true, + "hideOnChildrenHidden": false, + "width": 3, + "placeholder": "", + "prefix": "", + "customClass": "", + "suffix": "", + "multiple": false, + "defaultValue": null, + "protected": false, + "unique": false, + "persistent": true, + "hidden": false, + "clearOnHide": true, + "refreshOn": "", + "redrawOn": "", + "modalEdit": false, + "dataGridLabel": false, + "labelPosition": "top", + "description": "", + "errorLabel": "", + "hideLabel": false, + "tabindex": "", + "disabled": false, + "autofocus": false, + "dbIndex": false, + "customDefaultValue": "", + "calculateValue": "", + "calculateServer": false, + "widget": { + "type": "input" + }, + "attributes": {}, + "validateOn": "change", + "validate": { + "required": false, + "custom": "", + "customPrivate": false, + "strictDateValidation": false, + "multiple": false, + "unique": false, + "minLength": "", + "maxLength": "", + "pattern": "" + }, + "overlay": { + "style": "", + "left": "", + "top": "", + "width": "", + "height": "" + }, + "allowCalculateOverride": false, + "encrypted": false, + "showCharCount": false, + "showWordCount": false, + "properties": {}, + "allowMultipleMasks": false, + "mask": false, + "inputType": "text", + "inputFormat": "plain", + "inputMask": "", + "spellcheck": true, + "id": "ew83x8a", + "addons": [], + "displayMask": "", + "truncateMultipleSpaces": false + }, + { + "label": "1.a Limited / Incorporated Company Name", + "tooltip": "If you plan to operate the business as a separate legal entity, separate from yourself and your personal assets", + "tableView": false, + "key": "limitedIncorporatedCompanyNameIfYouPlanToOperateTheBusinessAsASeparateLegalEntitySeparateFromYourselfAndYourPersonalAssets", + "conditional": { + "show": true, + "when": "typeOfBussiness", + "eq": "Corporation" + }, + "type": "textfield", + "input": true, + "hideOnChildrenHidden": false, + "width": 3, + "placeholder": "", + "prefix": "", + "customClass": "", + "suffix": "", + "multiple": false, + "defaultValue": null, + "protected": false, + "unique": false, + "persistent": true, + "hidden": false, + "clearOnHide": true, + "refreshOn": "", + "redrawOn": "", + "modalEdit": false, + "dataGridLabel": false, + "labelPosition": "top", + "description": "", + "errorLabel": "", + "hideLabel": false, + "tabindex": "", + "disabled": false, + "autofocus": false, + "dbIndex": false, + "customDefaultValue": "", + "calculateValue": "", + "calculateServer": false, + "widget": { + "type": "input" + }, + "attributes": {}, + "validateOn": "change", + "validate": { + "required": false, + "custom": "", + "customPrivate": false, + "strictDateValidation": false, + "multiple": false, + "unique": false, + "minLength": "", + "maxLength": "", + "pattern": "" + }, + "overlay": { + "style": "", + "left": "", + "top": "", + "width": "", + "height": "" + }, + "allowCalculateOverride": false, + "encrypted": false, + "showCharCount": false, + "showWordCount": false, + "properties": {}, + "allowMultipleMasks": false, + "mask": false, + "inputType": "text", + "inputFormat": "plain", + "inputMask": "", + "spellcheck": true, + "id": "engyqk", + "addons": [], + "displayMask": "", + "truncateMultipleSpaces": false + } + ], + "placeholder": "", + "prefix": "", + "customClass": "", + "suffix": "", + "multiple": false, + "defaultValue": null, + "protected": false, + "unique": false, + "persistent": false, + "hidden": false, + "clearOnHide": true, + "refreshOn": "", + "redrawOn": "", + "modalEdit": false, + "dataGridLabel": false, + "labelPosition": "top", + "description": "", + "errorLabel": "", + "tooltip": "", + "hideLabel": false, + "tabindex": "", + "disabled": false, + "autofocus": false, + "dbIndex": false, + "customDefaultValue": "", + "calculateValue": "", + "calculateServer": false, + "widget": null, + "attributes": {}, + "validateOn": "change", + "validate": { + "required": false, + "custom": "", + "customPrivate": false, + "strictDateValidation": false, + "multiple": false, + "unique": false + }, + "conditional": { + "show": null, + "when": null, + "eq": "" + }, + "overlay": { + "style": "", + "left": "", + "top": "", + "width": "", + "height": "" + }, + "allowCalculateOverride": false, + "encrypted": false, + "showCharCount": false, + "showWordCount": false, + "properties": {}, + "allowMultipleMasks": false, + "tree": false, + "id": "en2ljb", + "addons": [], + "lazyLoad": false + }, + { + "label": "2. Is this a Home based business?", + "optionsLabelPosition": "right", + "inline": true, + "tableView": false, + "values": [ + { + "label": "Yes", + "value": "yes", + "shortcut": "" + }, + { + "label": "No", + "value": "no", + "shortcut": "" + } + ], + "validate": { + "required": true, + "custom": "", + "customPrivate": false, + "strictDateValidation": false, + "multiple": false, + "unique": false, + "onlyAvailableItems": false + }, + "key": "isThisAHomeBasedBussiness", + "type": "radio", + "input": true, + "placeholder": "", + "prefix": "", + "customClass": "", + "suffix": "", + "multiple": false, + "defaultValue": null, + "protected": false, + "unique": false, + "persistent": true, + "hidden": false, + "clearOnHide": true, + "refreshOn": "", + "redrawOn": "", + "modalEdit": false, + "dataGridLabel": false, + "labelPosition": "top", + "description": "", + "errorLabel": "", + "tooltip": "", + "hideLabel": false, + "tabindex": "", + "disabled": false, + "autofocus": false, + "dbIndex": false, + "customDefaultValue": "", + "calculateValue": "", + "calculateServer": false, + "widget": null, + "attributes": {}, + "validateOn": "change", + "conditional": { + "show": null, + "when": null, + "eq": "" + }, + "overlay": { + "style": "", + "left": "", + "top": "", + "width": "", + "height": "" + }, + "allowCalculateOverride": false, + "encrypted": false, + "showCharCount": false, + "showWordCount": false, + "properties": {}, + "allowMultipleMasks": false, + "inputType": "radio", + "fieldSet": false, + "id": "ekn7q2l", + "addons": [], + "dataSrc": "values", + "authenticate": false, + "ignoreCache": false, + "template": "{{ item.label }}", + "data": { + "url": "" + } + }, + { + "label": "Home Based", + "tableView": false, + "key": "homeBased", + "conditional": { + "show": true, + "when": "isThisAHomeBasedBussiness", + "eq": "yes" + }, + "type": "well", + "input": false, + "components": [ + { + "label": "2.a Will you be receiving clients at your residence?", + "optionsLabelPosition": "right", + "inline": true, + "tableView": false, + "values": [ + { + "label": "Yes", + "value": "yes", + "shortcut": "" + }, + { + "label": "No", + "value": "no", + "shortcut": "" + } + ], + "key": "willYouBeReceivingClientsAtYourResidence", + "conditional": { + "show": true, + "when": "isThisAHomeBasedBussiness", + "eq": "yes" + }, + "type": "radio", + "input": true, + "placeholder": "", + "prefix": "", + "customClass": "", + "suffix": "", + "multiple": false, + "defaultValue": null, + "protected": false, + "unique": false, + "persistent": true, + "hidden": false, + "clearOnHide": true, + "refreshOn": "", + "redrawOn": "", + "modalEdit": false, + "dataGridLabel": false, + "labelPosition": "top", + "description": "", + "errorLabel": "", + "tooltip": "", + "hideLabel": false, + "tabindex": "", + "disabled": false, + "autofocus": false, + "dbIndex": false, + "customDefaultValue": "", + "calculateValue": "", + "calculateServer": false, + "widget": null, + "attributes": {}, + "validateOn": "change", + "validate": { + "required": false, + "custom": "", + "customPrivate": false, + "strictDateValidation": false, + "multiple": false, + "unique": false, + "onlyAvailableItems": false + }, + "overlay": { + "style": "", + "left": "", + "top": "", + "width": "", + "height": "" + }, + "allowCalculateOverride": false, + "encrypted": false, + "showCharCount": false, + "showWordCount": false, + "properties": {}, + "allowMultipleMasks": false, + "inputType": "radio", + "fieldSet": false, + "id": "ef3h3gi", + "addons": [], + "dataSrc": "values", + "authenticate": false, + "ignoreCache": false, + "template": "{{ item.label }}", + "data": { + "url": "" + } + }, + { + "label": "2.b How many clients on average do you receive per day?", + "mask": false, + "spellcheck": true, + "tableView": false, + "delimiter": false, + "requireDecimal": false, + "inputFormat": "plain", + "validate": { + "customMessage": "Please enter in range from 0-50", + "min": 0, + "max": 50, + "required": false, + "custom": "", + "customPrivate": false, + "strictDateValidation": false, + "multiple": false, + "unique": false, + "step": "any", + "integer": "" + }, + "key": "howManyClientsWillYouReceivePerDay", + "conditional": { + "show": true, + "when": "willYouBeReceivingClientsAtYourResidence", + "eq": "yes" + }, + "type": "number", + "input": true, + "placeholder": "", + "prefix": "", + "customClass": "", + "suffix": "", + "multiple": false, + "defaultValue": null, + "protected": false, + "unique": false, + "persistent": true, + "hidden": false, + "clearOnHide": true, + "refreshOn": "", + "redrawOn": "", + "modalEdit": false, + "dataGridLabel": false, + "labelPosition": "top", + "description": "", + "errorLabel": "", + "tooltip": "", + "hideLabel": false, + "tabindex": "", + "disabled": false, + "autofocus": false, + "dbIndex": false, + "customDefaultValue": "", + "calculateValue": "", + "calculateServer": false, + "widget": { + "type": "input" + }, + "attributes": {}, + "validateOn": "change", + "overlay": { + "style": "", + "left": "", + "top": "", + "width": "", + "height": "" + }, + "allowCalculateOverride": false, + "encrypted": false, + "showCharCount": false, + "showWordCount": false, + "properties": {}, + "allowMultipleMasks": false, + "id": "e8eyvd", + "addons": [] + }, + { + "html": "

Home Occupation refers to the making, servicing, or repairing goods and the provision of services for hire from a residence. To qualify for a Home Based Business Licence the applicant must reside at the location they are applying for, be the only person engaged in the business and comply with the Home Occupation Bylaw No.84-44 Schedule D – Zoning Regulation Bylaw No.80

", + "label": "Content", + "refreshOnChange": false, + "tableView": false, + "key": "content2", + "type": "content", + "input": false, + "hideOnChildrenHidden": false, + "placeholder": "", + "prefix": "", + "customClass": "", + "suffix": "", + "multiple": false, + "defaultValue": null, + "protected": false, + "unique": false, + "persistent": true, + "hidden": false, + "clearOnHide": true, + "refreshOn": "", + "redrawOn": "", + "modalEdit": false, + "dataGridLabel": false, + "labelPosition": "top", + "description": "", + "errorLabel": "", + "tooltip": "", + "hideLabel": false, + "tabindex": "", + "disabled": false, + "autofocus": false, + "dbIndex": false, + "customDefaultValue": "", + "calculateValue": "", + "calculateServer": false, + "widget": null, + "attributes": {}, + "validateOn": "change", + "validate": { + "required": false, + "custom": "", + "customPrivate": false, + "strictDateValidation": false, + "multiple": false, + "unique": false + }, + "conditional": { + "show": null, + "when": null, + "eq": "" + }, + "overlay": { + "style": "", + "left": "", + "top": "", + "width": "", + "height": "" + }, + "allowCalculateOverride": false, + "encrypted": false, + "showCharCount": false, + "showWordCount": false, + "properties": {}, + "allowMultipleMasks": false, + "id": "ekya8vf", + "addons": [] + } + ], + "placeholder": "", + "prefix": "", + "customClass": "", + "suffix": "", + "multiple": false, + "defaultValue": null, + "protected": false, + "unique": false, + "persistent": false, + "hidden": false, + "clearOnHide": true, + "refreshOn": "", + "redrawOn": "", + "modalEdit": false, + "dataGridLabel": false, + "labelPosition": "top", + "description": "", + "errorLabel": "", + "tooltip": "", + "hideLabel": false, + "tabindex": "", + "disabled": false, + "autofocus": false, + "dbIndex": false, + "customDefaultValue": "", + "calculateValue": "", + "calculateServer": false, + "widget": null, + "attributes": {}, + "validateOn": "change", + "validate": { + "required": false, + "custom": "", + "customPrivate": false, + "strictDateValidation": false, + "multiple": false, + "unique": false + }, + "overlay": { + "style": "", + "left": "", + "top": "", + "width": "", + "height": "" + }, + "allowCalculateOverride": false, + "encrypted": false, + "showCharCount": false, + "showWordCount": false, + "properties": {}, + "allowMultipleMasks": false, + "tree": false, + "id": "eey504r", + "addons": [], + "lazyLoad": false + }, + { + "label": " 3. Do you need Inter-Municipal Licence?", + "optionsLabelPosition": "right", + "tooltip": "This will allow you to work within all 13 municipal boundaries", + "inline": true, + "tableView": false, + "values": [ + { + "label": "Yes", + "value": "yes", + "shortcut": "" + }, + { + "label": "No", + "value": "no", + "shortcut": "" + } + ], + "validate": { + "required": true, + "custom": "", + "customPrivate": false, + "strictDateValidation": false, + "multiple": false, + "unique": false, + "onlyAvailableItems": false + }, + "key": "doYouNeedInterMuncipalLicence", + "type": "radio", + "input": true, + "placeholder": "", + "prefix": "", + "customClass": "", + "suffix": "", + "multiple": false, + "defaultValue": null, + "protected": false, + "unique": false, + "persistent": true, + "hidden": false, + "clearOnHide": true, + "refreshOn": "", + "redrawOn": "", + "modalEdit": false, + "dataGridLabel": false, + "labelPosition": "top", + "description": "", + "errorLabel": "", + "hideLabel": false, + "tabindex": "", + "disabled": false, + "autofocus": false, + "dbIndex": false, + "customDefaultValue": "", + "calculateValue": "", + "calculateServer": false, + "widget": null, + "attributes": {}, + "validateOn": "change", + "conditional": { + "show": null, + "when": null, + "eq": "" + }, + "overlay": { + "style": "", + "left": "", + "top": "", + "width": "", + "height": "" + }, + "allowCalculateOverride": false, + "encrypted": false, + "showCharCount": false, + "showWordCount": false, + "properties": {}, + "allowMultipleMasks": false, + "inputType": "radio", + "fieldSet": false, + "id": "eandsun", + "addons": [], + "dataSrc": "values", + "authenticate": false, + "ignoreCache": false, + "template": "{{ item.label }}", + "data": { + "url": "" + } + }, + { + "label": "Inter-Municipal", + "tableView": false, + "key": "interMunicipal", + "conditional": { + "show": true, + "when": "doYouNeedInterMuncipalLicence", + "eq": "yes" + }, + "type": "well", + "input": false, + "components": [ + { + "html": "

Businesses in a variety of mobile trades (e.g. caterers, contractors, towing services) can purchase a business licence that is honoured throughout Greater Victoria. Applicants must purchase this licence from the municipality in which their business office is located, either your home or a commercial location.

", + "label": "Content", + "refreshOnChange": false, + "tableView": false, + "key": "content1", + "type": "content", + "input": false, + "hideOnChildrenHidden": false, + "placeholder": "", + "prefix": "", + "customClass": "", + "suffix": "", + "multiple": false, + "defaultValue": null, + "protected": false, + "unique": false, + "persistent": true, + "hidden": false, + "clearOnHide": true, + "refreshOn": "", + "redrawOn": "", + "modalEdit": false, + "dataGridLabel": false, + "labelPosition": "top", + "description": "", + "errorLabel": "", + "tooltip": "", + "hideLabel": false, + "tabindex": "", + "disabled": false, + "autofocus": false, + "dbIndex": false, + "customDefaultValue": "", + "calculateValue": "", + "calculateServer": false, + "widget": null, + "attributes": {}, + "validateOn": "change", + "validate": { + "required": false, + "custom": "", + "customPrivate": false, + "strictDateValidation": false, + "multiple": false, + "unique": false + }, + "conditional": { + "show": null, + "when": null, + "eq": "" + }, + "overlay": { + "style": "", + "left": "", + "top": "", + "width": "", + "height": "" + }, + "allowCalculateOverride": false, + "encrypted": false, + "showCharCount": false, + "showWordCount": false, + "properties": {}, + "allowMultipleMasks": false, + "id": "evehfzb", + "addons": [] + } + ], + "placeholder": "", + "prefix": "", + "customClass": "", + "suffix": "", + "multiple": false, + "defaultValue": null, + "protected": false, + "unique": false, + "persistent": false, + "hidden": false, + "clearOnHide": true, + "refreshOn": "", + "redrawOn": "", + "modalEdit": false, + "dataGridLabel": false, + "labelPosition": "top", + "description": "", + "errorLabel": "", + "tooltip": "", + "hideLabel": false, + "tabindex": "", + "disabled": false, + "autofocus": false, + "dbIndex": false, + "customDefaultValue": "", + "calculateValue": "", + "calculateServer": false, + "widget": null, + "attributes": {}, + "validateOn": "change", + "validate": { + "required": false, + "custom": "", + "customPrivate": false, + "strictDateValidation": false, + "multiple": false, + "unique": false + }, + "overlay": { + "style": "", + "left": "", + "top": "", + "width": "", + "height": "" + }, + "allowCalculateOverride": false, + "encrypted": false, + "showCharCount": false, + "showWordCount": false, + "properties": {}, + "allowMultipleMasks": false, + "tree": false, + "id": "edv6q5", + "addons": [], + "lazyLoad": false + }, + { + "label": "4. Is Building Permit Required ?", + "optionsLabelPosition": "right", + "tooltip": "(Will you be making any alterations to the premises or changing the use of the premise)\r\nEx: Office to Retail", + "inline": true, + "tableView": false, + "values": [ + { + "label": "Yes", + "value": "yes", + "shortcut": "" + }, + { + "label": "No", + "value": "no", + "shortcut": "" + } + ], + "validate": { + "required": true, + "custom": "", + "customPrivate": false, + "strictDateValidation": false, + "multiple": false, + "unique": false, + "onlyAvailableItems": false + }, + "key": "isBuildingPermitRequired", + "type": "radio", + "input": true, + "placeholder": "", + "prefix": "", + "customClass": "", + "suffix": "", + "multiple": false, + "defaultValue": null, + "protected": false, + "unique": false, + "persistent": true, + "hidden": false, + "clearOnHide": true, + "refreshOn": "", + "redrawOn": "", + "modalEdit": false, + "dataGridLabel": false, + "labelPosition": "top", + "description": "", + "errorLabel": "", + "hideLabel": false, + "tabindex": "", + "disabled": false, + "autofocus": false, + "dbIndex": false, + "customDefaultValue": "", + "calculateValue": "", + "calculateServer": false, + "widget": null, + "attributes": {}, + "validateOn": "change", + "conditional": { + "show": null, + "when": null, + "eq": "" + }, + "overlay": { + "style": "", + "left": "", + "top": "", + "width": "", + "height": "" + }, + "allowCalculateOverride": false, + "encrypted": false, + "showCharCount": false, + "showWordCount": false, + "properties": {}, + "allowMultipleMasks": false, + "inputType": "radio", + "fieldSet": false, + "id": "e4cllcs", + "addons": [], + "dataSrc": "values", + "authenticate": false, + "ignoreCache": false, + "template": "{{ item.label }}", + "data": { + "url": "" + } + } + ], + "hideOnChildrenHidden": false, + "collapsed": false, + "placeholder": "", + "prefix": "", + "customClass": "", + "suffix": "", + "multiple": false, + "defaultValue": null, + "protected": false, + "unique": false, + "persistent": false, + "hidden": false, + "clearOnHide": false, + "refreshOn": "", + "redrawOn": "", + "modalEdit": false, + "dataGridLabel": false, + "labelPosition": "top", + "description": "", + "errorLabel": "", + "tooltip": "", + "hideLabel": false, + "tabindex": "", + "disabled": false, + "autofocus": false, + "dbIndex": false, + "customDefaultValue": "", + "calculateValue": "", + "calculateServer": false, + "widget": null, + "attributes": {}, + "validateOn": "change", + "validate": { + "required": false, + "custom": "", + "customPrivate": false, + "strictDateValidation": false, + "multiple": false, + "unique": false + }, + "conditional": { + "show": null, + "when": null, + "eq": "" + }, + "overlay": { + "style": "", + "left": "", + "top": "", + "width": "", + "height": "" + }, + "allowCalculateOverride": false, + "encrypted": false, + "showCharCount": false, + "showWordCount": false, + "properties": {}, + "allowMultipleMasks": false, + "tree": false, + "theme": "default", + "breadcrumb": "default", + "id": "e3oau3c", + "addons": [], + "lazyLoad": false + }, + { + "label": "Columns", + "columns": [ + { + "components": [ + { + "label": "License Info", + "customClass": "", + "hidden": false, + "disabled": false, + "tableView": false, + "modalEdit": false, + "key": "licenseInfo", + "tags": [], + "properties": {}, + "conditional": { + "show": null, + "when": null, + "eq": "", + "json": "" + }, + "customConditional": "", + "logic": [], + "attributes": {}, + "overlay": { + "style": "", + "page": "", + "left": "", + "top": "", + "width": "", + "height": "" + }, + "type": "well", + "input": false, + "placeholder": "", + "prefix": "", + "suffix": "", + "multiple": false, + "defaultValue": null, + "protected": false, + "unique": false, + "persistent": false, + "clearOnHide": true, + "refreshOn": "", + "redrawOn": "", + "labelPosition": "top", + "description": "", + "errorLabel": "", + "tooltip": "", + "hideLabel": false, + "tabindex": "", + "autofocus": false, + "dbIndex": false, + "customDefaultValue": "", + "calculateValue": "", + "calculateServer": false, + "widget": null, + "validateOn": "change", + "validate": { + "required": false, + "custom": "", + "customPrivate": false, + "strictDateValidation": false, + "multiple": false, + "unique": false + }, + "allowCalculateOverride": false, + "encrypted": false, + "showCharCount": false, + "showWordCount": false, + "allowMultipleMasks": false, + "tree": false, + "components": [ + { + "label": "HTML", + "tag": "div", + "attrs": [ + { + "attr": "", + "value": "" + } + ], + "content": "Completion of this application does not guarantee approval of application. Approved licences will be issued only upon\r\nreceipt of payment of Business Licence fee. Conducting business without a valid licence is an offence for which penalties\r\nare prescribed. Be advised that the minimum penalty in this case is a fine of $250 per day, for each day that the offence\r\ncontinues (Bylaw No. 89-71 Sec. 4(a)).\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n
This information is being collected for the purpose of determining the applicant’s eligibility for a Business Licence in the City of Victoria pursuant to its Bylaw(s). In providing this information, you have consented to its use for the above-described purpose and declare that all the information provided herein is correct. This information may be shared with applicable City of Victoria departments and related agencies for the purpose of required inspections and approval of this licence application. Applicant has read and agrees to comply with the stated regulations and bylaws of the City of Victoria. Licences are effective from January 16 to January 15 of the following year are non-transferable, and the licence fee(s) paid are non-refundable. I understand I cannot commence business until such time as a business licence has been approved and issued.
\r\n
\r\n
\r\n", + "refreshOnChange": false, + "tableView": false, + "key": "html6", + "type": "htmlelement", + "input": false, + "hideOnChildrenHidden": false, + "placeholder": "", + "prefix": "", + "customClass": "", + "suffix": "", + "multiple": false, + "defaultValue": null, + "protected": false, + "unique": false, + "persistent": false, + "hidden": false, + "clearOnHide": true, + "refreshOn": "", + "redrawOn": "", + "modalEdit": false, + "labelPosition": "top", + "description": "", + "errorLabel": "", + "tooltip": "", + "hideLabel": false, + "tabindex": "", + "disabled": false, + "autofocus": false, + "dbIndex": false, + "customDefaultValue": "", + "calculateValue": "", + "calculateServer": false, + "widget": null, + "attributes": {}, + "validateOn": "change", + "validate": { + "required": false, + "custom": "", + "customPrivate": false, + "strictDateValidation": false, + "multiple": false, + "unique": false + }, + "conditional": { + "show": null, + "when": null, + "eq": "" + }, + "overlay": { + "style": "", + "left": "", + "top": "", + "width": "", + "height": "" + }, + "allowCalculateOverride": false, + "encrypted": false, + "showCharCount": false, + "showWordCount": false, + "properties": {}, + "allowMultipleMasks": false, + "id": "eqyhk7q", + "dataGridLabel": false, + "addons": [] + }, + { + "label": "HTML", + "attrs": [ + { + "attr": "", + "value": "" + } + ], + "content": "Checklist for applicant:\r\n
    \r\n
  • Application signed and completed in full
  • \r\n
  • Documents attached (Incorporation/Certification/Share Purchase Agreement) (if applicable)
  • \r\n
  • Detailed Site Plan/Layout of Business provided (if applicable)
  • \r\n
  • Occupant Load/Floor Plans of Building (if applicable)
  • \r\n
", + "refreshOnChange": false, + "tableView": false, + "key": "html8", + "type": "htmlelement", + "input": false, + "hideOnChildrenHidden": false, + "placeholder": "", + "prefix": "", + "customClass": "", + "suffix": "", + "multiple": false, + "defaultValue": null, + "protected": false, + "unique": false, + "persistent": false, + "hidden": false, + "clearOnHide": true, + "refreshOn": "", + "redrawOn": "", + "modalEdit": false, + "labelPosition": "top", + "description": "", + "errorLabel": "", + "tooltip": "", + "hideLabel": false, + "tabindex": "", + "disabled": false, + "autofocus": false, + "dbIndex": false, + "customDefaultValue": "", + "calculateValue": "", + "calculateServer": false, + "widget": null, + "attributes": {}, + "validateOn": "change", + "validate": { + "required": false, + "custom": "", + "customPrivate": false, + "strictDateValidation": false, + "multiple": false, + "unique": false + }, + "conditional": { + "show": null, + "when": null, + "eq": "" + }, + "overlay": { + "style": "", + "left": "", + "top": "", + "width": "", + "height": "" + }, + "allowCalculateOverride": false, + "encrypted": false, + "showCharCount": false, + "showWordCount": false, + "properties": {}, + "allowMultipleMasks": false, + "tag": "p", + "id": "ea79x4m", + "dataGridLabel": false, + "addons": [] + } + ], + "id": "exkr9d8", + "hideOnChildrenHidden": false, + "dataGridLabel": false, + "addons": [], + "lazyLoad": false + } + ], + "width": 12, + "offset": 0, + "push": 0, + "pull": 0, + "size": "md", + "currentWidth": 12 + }, + { + "components": [ + { + "label": "Applicant’s Name", + "tableView": true, + "customDefaultValue": "var storedNames = JSON.parse(localStorage.getItem(\"UserDetails\"));\nvar assessment_prepared = \"\";\nvar given_name = storedNames[\"given_name\"];\nvar family_name = storedNames[\"family_name\"];\nvar preferred_username = storedNames[\"preferred_username\"];\nif(given_name!==\"\" && family_name !== \"\" )\n{\n assessment_prepared = given_name+\" \" + family_name;\n}\nelse if(given_name!==\"\")\n{\n assessment_prepared = given_name;\n}\nelse if(family_name !== \"\")\n{\n assessment_prepared = family_name; \n}\nelse if(preferred_username !== \"\")\n{\n assessment_prepared = preferred_username; \n}\nvalue = assessment_prepared;", + "key": "applicantsNameIndividualCompletingForm", + "logic": [ + { + "name": "disableName", + "trigger": { + "type": "simple", + "simple": { + "show": true, + "when": "applicationStatus", + "eq": "New" + } + }, + "actions": [ + { + "name": "disableName", + "type": "property", + "property": { + "label": "Disabled", + "value": "disabled", + "type": "boolean" + }, + "state": true + } + ] + }, + { + "name": "disableName1", + "trigger": { + "type": "simple", + "simple": { + "show": true, + "when": "applicationStatus", + "eq": "Resubmitted" + } + }, + "actions": [ + { + "name": "disableName1", + "type": "property", + "property": { + "label": "Disabled", + "value": "disabled", + "type": "boolean" + }, + "state": true + } + ] + }, + { + "name": "disableName2", + "trigger": { + "type": "simple", + "simple": { + "show": true, + "when": "applicationStatus", + "eq": "Reviewed" + } + }, + "actions": [ + { + "name": "disableName2", + "type": "property", + "property": { + "label": "Disabled", + "value": "disabled", + "type": "boolean" + }, + "state": true + } + ] + } + ], + "type": "textfield", + "input": true, + "hideOnChildrenHidden": false, + "placeholder": "", + "prefix": "", + "customClass": "", + "suffix": "", + "multiple": false, + "defaultValue": null, + "protected": false, + "unique": false, + "persistent": true, + "hidden": false, + "clearOnHide": true, + "refreshOn": "", + "redrawOn": "", + "modalEdit": false, + "dataGridLabel": false, + "labelPosition": "top", + "description": "", + "errorLabel": "", + "tooltip": "", + "hideLabel": false, + "tabindex": "", + "disabled": false, + "autofocus": false, + "dbIndex": false, + "calculateValue": "", + "calculateServer": false, + "widget": { + "type": "input" + }, + "attributes": {}, + "validateOn": "change", + "validate": { + "required": false, + "custom": "", + "customPrivate": false, + "strictDateValidation": false, + "multiple": false, + "unique": false, + "minLength": "", + "maxLength": "", + "pattern": "" + }, + "conditional": { + "show": null, + "when": null, + "eq": "" + }, + "overlay": { + "style": "", + "left": "", + "top": "", + "width": "", + "height": "" + }, + "allowCalculateOverride": false, + "encrypted": false, + "showCharCount": false, + "showWordCount": false, + "properties": {}, + "allowMultipleMasks": false, + "mask": false, + "inputType": "text", + "inputFormat": "plain", + "inputMask": "", + "spellcheck": true, + "id": "emdp4h8", + "addons": [], + "displayMask": "", + "truncateMultipleSpaces": false + }, + { + "label": " Date signed", + "labelPosition": "top", + "placeholder": "", + "description": "", + "tooltip": "", + "prefix": "", + "suffix": "", + "widget": { + "type": "input" + }, + "inputMask": "", + "allowMultipleMasks": false, + "customClass": "", + "tabindex": "", + "hidden": false, + "hideLabel": false, + "showWordCount": false, + "showCharCount": false, + "mask": false, + "autofocus": false, + "spellcheck": true, + "disabled": true, + "tableView": true, + "modalEdit": false, + "multiple": false, + "persistent": true, + "inputFormat": "plain", + "protected": false, + "dbIndex": false, + "case": "", + "encrypted": false, + "redrawOn": "", + "clearOnHide": true, + "customDefaultValue": "value = moment().format('MM-DD-YYYY');", + "calculateValue": "", + "calculateServer": false, + "allowCalculateOverride": false, + "validateOn": "change", + "validate": { + "required": false, + "pattern": "", + "customMessage": "", + "custom": "", + "customPrivate": false, + "json": "", + "minLength": "", + "maxLength": "", + "strictDateValidation": false, + "multiple": false, + "unique": false + }, + "unique": false, + "errorLabel": "", + "key": "dateSigned", + "tags": [], + "properties": {}, + "conditional": { + "show": null, + "when": null, + "eq": "", + "json": "" + }, + "customConditional": "", + "logic": [], + "attributes": {}, + "overlay": { + "style": "", + "page": "", + "left": "", + "top": "", + "width": "", + "height": "" + }, + "type": "textfield", + "input": true, + "hideOnChildrenHidden": false, + "refreshOn": "", + "inputType": "text", + "id": "ey00j9c", + "defaultValue": "", + "dataGridLabel": false, + "addons": [], + "displayMask": "", + "truncateMultipleSpaces": false + } + ], + "width": 6, + "offset": 0, + "push": 0, + "pull": 0, + "size": "md", + "currentWidth": 6 + }, + { + "components": [ + { + "label": "Applicant’s Signature", + "height": "100px", + "tableView": false, + "key": "applicantsSignature", + "logic": [ + { + "name": "disable Signature", + "trigger": { + "type": "simple", + "simple": { + "show": true, + "when": "applicationStatus", + "eq": "New" + } + }, + "actions": [ + { + "name": "disable Signature", + "type": "property", + "property": { + "label": "Disabled", + "value": "disabled", + "type": "boolean" + }, + "state": true + } + ] + }, + { + "name": "disable Signature1", + "trigger": { + "type": "simple", + "simple": { + "show": true, + "when": "applicationStatus", + "eq": "Resubmitted" + } + }, + "actions": [ + { + "name": "disable Signature1", + "type": "property", + "property": { + "label": "Disabled", + "value": "disabled", + "type": "boolean" + }, + "state": true + } + ] + }, + { + "name": "disable Signature2", + "trigger": { + "type": "simple", + "simple": { + "show": true, + "when": "applicationStatus", + "eq": "Reviewed" + } + }, + "actions": [ + { + "name": "disable Signature", + "type": "property", + "property": { + "label": "Disabled", + "value": "disabled", + "type": "boolean" + }, + "state": true + } + ] + } + ], + "type": "signature", + "input": true, + "hideOnChildrenHidden": false, + "placeholder": "", + "prefix": "", + "customClass": "", + "suffix": "", + "multiple": false, + "defaultValue": null, + "protected": false, + "unique": false, + "persistent": true, + "hidden": false, + "clearOnHide": true, + "refreshOn": "", + "redrawOn": "", + "modalEdit": false, + "dataGridLabel": false, + "labelPosition": "top", + "description": "", + "errorLabel": "", + "tooltip": "", + "hideLabel": false, + "tabindex": "", + "disabled": false, + "autofocus": false, + "dbIndex": false, + "customDefaultValue": "", + "calculateValue": "", + "calculateServer": false, + "widget": { + "type": "input" + }, + "attributes": {}, + "validateOn": "change", + "validate": { + "required": false, + "custom": "", + "customPrivate": false, + "strictDateValidation": false, + "multiple": false, + "unique": false + }, + "conditional": { + "show": null, + "when": null, + "eq": "" + }, + "overlay": { + "style": "", + "left": "", + "top": "", + "width": "", + "height": "" + }, + "allowCalculateOverride": false, + "encrypted": false, + "showCharCount": false, + "showWordCount": false, + "properties": {}, + "allowMultipleMasks": false, + "footer": "Sign above", + "width": "100%", + "penColor": "black", + "backgroundColor": "rgb(245,245,235)", + "minWidth": "0.5", + "maxWidth": "2.5", + "id": "eycfnnh", + "addons": [], + "keepOverlayRatio": true + } + ], + "size": "md", + "width": 6, + "offset": 0, + "push": 0, + "pull": 0, + "currentWidth": 6 + }, + { + "components": [ + { + "label": "Submit", + "action": "submit", + "showValidations": false, + "theme": "primary", + "size": "md", + "block": false, + "leftIcon": "", + "rightIcon": "", + "shortcut": "", + "description": "", + "tooltip": "", + "customClass": "pull-right", + "tabindex": "", + "disableOnInvalid": true, + "hidden": false, + "autofocus": false, + "disabled": false, + "tableView": false, + "modalEdit": false, + "key": "submit", + "tags": [], + "properties": {}, + "conditional": { + "show": null, + "when": null, + "eq": "", + "json": "" + }, + "customConditional": "switch(data.applicationStatus) {\n case \"New\":\n case \"Approved\":\n case \"Rejected\":\n case \"Resubmitted\":\n case \"Reviewed\":\n show = false;\n break;\n default: show = true;\n}", + "logic": [], + "attributes": {}, + "overlay": { + "style": "", + "page": "", + "left": "", + "top": "", + "width": "", + "height": "" + }, + "type": "button", + "input": true, + "hideOnChildrenHidden": false, + "placeholder": "", + "prefix": "", + "suffix": "", + "multiple": false, + "defaultValue": null, + "protected": false, + "unique": false, + "persistent": false, + "clearOnHide": true, + "refreshOn": "", + "redrawOn": "", + "dataGridLabel": true, + "labelPosition": "top", + "errorLabel": "", + "hideLabel": false, + "dbIndex": false, + "customDefaultValue": "", + "calculateValue": "", + "calculateServer": false, + "widget": { + "type": "input" + }, + "validateOn": "change", + "validate": { + "required": false, + "custom": "", + "customPrivate": false, + "strictDateValidation": false, + "multiple": false, + "unique": false + }, + "allowCalculateOverride": false, + "encrypted": false, + "showCharCount": false, + "showWordCount": false, + "allowMultipleMasks": false, + "id": "e9bbh6d", + "addons": [] + } + ], + "size": "md", + "width": 12, + "offset": 0, + "push": 0, + "pull": 0, + "currentWidth": 12 + } + ], + "autoAdjust": false, + "hideOnChildrenHidden": false, + "customClass": "", + "hidden": false, + "hideLabel": false, + "tableView": false, + "modalEdit": false, + "key": "columns10", + "tags": [], + "properties": {}, + "conditional": { + "show": null, + "when": null, + "eq": "", + "json": "" + }, + "customConditional": "", + "logic": [], + "attributes": {}, + "overlay": { + "style": "", + "page": "", + "left": "", + "top": "", + "width": "", + "height": "" + }, + "type": "columns", + "input": false, + "placeholder": "", + "prefix": "", + "suffix": "", + "multiple": false, + "defaultValue": null, + "protected": false, + "unique": false, + "persistent": false, + "clearOnHide": false, + "refreshOn": "", + "redrawOn": "", + "labelPosition": "top", + "description": "", + "errorLabel": "", + "tooltip": "", + "tabindex": "", + "disabled": false, + "autofocus": false, + "dbIndex": false, + "customDefaultValue": "", + "calculateValue": "", + "calculateServer": false, + "widget": null, + "validateOn": "change", + "validate": { + "required": false, + "custom": "", + "customPrivate": false, + "strictDateValidation": false, + "multiple": false, + "unique": false + }, + "allowCalculateOverride": false, + "encrypted": false, + "showCharCount": false, + "showWordCount": false, + "allowMultipleMasks": false, + "tree": false, + "id": "e0a5kgm", + "dataGridLabel": false, + "addons": [], + "lazyLoad": false + }, + { + "title": "Clerk Actions", + "theme": "default", + "tooltip": "", + "customClass": "", + "collapsible": false, + "hidden": false, + "hideLabel": false, + "disabled": false, + "modalEdit": false, + "key": "action", + "tags": [], + "properties": {}, + "customConditional": "const UserDetails = JSON.parse(localStorage.getItem(\"UserDetails\"))\nconst groups = UserDetails[\"groups\"]\n\nif(groups.includes(\"/test-clerk\") && data.applicationStatus===\"New\") {\n show = true;\n}\nelse if(groups.includes(\"/test-clerk\") && data.sendback_by===\"Clerk\" && (data.applicationStatus==\"Resubmitted\")) {\n show = true;\n}\nelse {\nshow = false;\n};", + "conditional": { + "json": "", + "show": null, + "when": null, + "eq": "" + }, + "logic": [], + "attributes": {}, + "overlay": { + "style": "", + "page": "", + "left": "", + "top": "", + "width": "", + "height": "" + }, + "type": "panel", + "label": "Clerk Actions", + "breadcrumb": "default", + "tabindex": "", + "input": false, + "tableView": false, + "components": [ + { + "label": "Select Clerk Action", + "widget": "choicesjs", + "tableView": false, + "data": { + "values": [ + { + "label": "Reviewed", + "value": "Reviewed" + }, + { + "label": "Returned", + "value": "Returned" + } + ], + "json": "", + "url": "", + "resource": "", + "custom": "" + }, + "key": "clerkActionType", + "type": "select", + "input": true, + "searchThreshold": 0.3, + "placeholder": "", + "prefix": "", + "customClass": "", + "suffix": "", + "multiple": false, + "defaultValue": null, + "protected": false, + "unique": false, + "persistent": true, + "hidden": false, + "clearOnHide": true, + "refreshOn": "", + "redrawOn": "", + "modalEdit": false, + "dataGridLabel": false, + "labelPosition": "top", + "description": "", + "errorLabel": "", + "tooltip": "", + "hideLabel": false, + "tabindex": "", + "disabled": false, + "autofocus": false, + "dbIndex": false, + "customDefaultValue": "", + "calculateValue": "", + "calculateServer": false, + "attributes": {}, + "validateOn": "change", + "validate": { + "required": false, + "custom": "", + "customPrivate": false, + "strictDateValidation": false, + "multiple": false, + "unique": false, + "onlyAvailableItems": false + }, + "conditional": { + "show": null, + "when": null, + "eq": "" + }, + "overlay": { + "style": "", + "left": "", + "top": "", + "width": "", + "height": "" + }, + "allowCalculateOverride": false, + "encrypted": false, + "showCharCount": false, + "showWordCount": false, + "properties": {}, + "allowMultipleMasks": false, + "addons": [], + "idPath": "id", + "clearOnRefresh": false, + "limit": 100, + "dataSrc": "values", + "valueProperty": "", + "lazyLoad": true, + "filter": "", + "searchEnabled": true, + "searchDebounce": 0.3, + "searchField": "", + "minSearch": 0, + "readOnlyValue": false, + "authenticate": false, + "ignoreCache": false, + "template": "{{ item.label }}", + "selectFields": "", + "selectThreshold": 0.3, + "uniqueOptions": false, + "fuseOptions": { + "include": "score", + "threshold": 0.3 + }, + "indexeddb": { + "filter": {} + }, + "customOptions": {}, + "useExactSearch": false, + "id": "es9096" + }, + { + "label": "Clerk Comments", + "autoExpand": false, + "tableView": false, + "key": "clerkComments", + "customConditional": "if(data.clerkActionType) {\n show = true;\n}\nelse {\n show = false;\n}", + "type": "textarea", + "input": true, + "placeholder": "", + "prefix": "", + "customClass": "", + "suffix": "", + "multiple": false, + "defaultValue": null, + "protected": false, + "unique": false, + "persistent": true, + "hidden": false, + "clearOnHide": true, + "refreshOn": "", + "redrawOn": "", + "modalEdit": false, + "dataGridLabel": false, + "labelPosition": "top", + "description": "", + "errorLabel": "", + "tooltip": "", + "hideLabel": false, + "tabindex": "", + "disabled": false, + "autofocus": false, + "dbIndex": false, + "customDefaultValue": "", + "calculateValue": "", + "calculateServer": false, + "widget": { + "type": "input" + }, + "attributes": {}, + "validateOn": "change", + "validate": { + "required": false, + "custom": "", + "customPrivate": false, + "strictDateValidation": false, + "multiple": false, + "unique": false, + "minLength": "", + "maxLength": "", + "pattern": "", + "minWords": "", + "maxWords": "" + }, + "conditional": { + "show": null, + "when": null, + "eq": "" + }, + "overlay": { + "style": "", + "left": "", + "top": "", + "width": "", + "height": "" + }, + "allowCalculateOverride": false, + "encrypted": false, + "showCharCount": false, + "showWordCount": false, + "properties": {}, + "allowMultipleMasks": false, + "addons": [], + "mask": false, + "inputType": "text", + "inputFormat": "html", + "inputMask": "", + "displayMask": "", + "spellcheck": true, + "truncateMultipleSpaces": false, + "rows": 3, + "wysiwyg": false, + "editor": "", + "fixedSize": true, + "id": "ehywcz7" + }, + { + "label": "Submit", + "action": "custom", + "showValidations": false, + "disabled": true, + "tableView": false, + "key": "submitAction", + "conditional": { + "show": true, + "when": null, + "eq": "" + }, + "customConditional": "if(data.clerkActionType){\n component.disabled=false;\n}else{\n component.disabled=true;\n}", + "type": "button", + "custom": "const submissionId = form._submission._id;\nconst formDataReqUrl = form.formio.formUrl+'/submission/'+submissionId;const formDataReqObj1 = { \"_id\": submissionId, \"data\": data};\nconst formio = new Formio(formDataReqUrl);\nformio.saveSubmission(formDataReqObj1).then( result => {\nform.emit('customEvent', {\n type: \"actionComplete\", \n component: component,\n actionType:data.clerkActionType\n }); \n}).catch((error)=>{\n//Error callback on not Save\n});", + "input": true, + "placeholder": "", + "prefix": "", + "customClass": "", + "suffix": "", + "multiple": false, + "defaultValue": null, + "protected": false, + "unique": false, + "persistent": false, + "hidden": false, + "clearOnHide": true, + "refreshOn": "", + "redrawOn": "", + "modalEdit": false, + "dataGridLabel": true, + "labelPosition": "top", + "description": "", + "errorLabel": "", + "tooltip": "", + "hideLabel": false, + "tabindex": "", + "autofocus": false, + "dbIndex": false, + "customDefaultValue": "", + "calculateValue": "", + "calculateServer": false, + "widget": { + "type": "input" + }, + "attributes": {}, + "validateOn": "change", + "validate": { + "required": false, + "custom": "", + "customPrivate": false, + "strictDateValidation": false, + "multiple": false, + "unique": false + }, + "overlay": { + "style": "", + "left": "", + "top": "", + "width": "", + "height": "" + }, + "allowCalculateOverride": false, + "encrypted": false, + "showCharCount": false, + "showWordCount": false, + "properties": {}, + "allowMultipleMasks": false, + "addons": [], + "size": "md", + "leftIcon": "", + "rightIcon": "", + "block": false, + "disableOnInvalid": false, + "theme": "primary", + "id": "ep92zgf" + } + ], + "placeholder": "", + "prefix": "", + "suffix": "", + "multiple": false, + "defaultValue": null, + "protected": false, + "unique": false, + "persistent": false, + "clearOnHide": false, + "refreshOn": "", + "redrawOn": "", + "dataGridLabel": false, + "labelPosition": "top", + "description": "", + "errorLabel": "", + "autofocus": false, + "dbIndex": false, + "customDefaultValue": "", + "calculateValue": "", + "calculateServer": false, + "widget": null, + "validateOn": "change", + "validate": { + "required": false, + "custom": "", + "customPrivate": false, + "strictDateValidation": false, + "multiple": false, + "unique": false + }, + "allowCalculateOverride": false, + "encrypted": false, + "showCharCount": false, + "showWordCount": false, + "allowMultipleMasks": false, + "addons": [], + "tree": false, + "lazyLoad": false, + "id": "ej04el" + }, + { + "title": "Clerk Comments for client", + "theme": "default", + "tooltip": "", + "customClass": "", + "collapsible": false, + "hidden": false, + "hideLabel": false, + "disabled": false, + "modalEdit": false, + "key": "clerkCommentsForClient", + "tags": [], + "properties": {}, + "customConditional": "", + "conditional": { + "json": "", + "show": true, + "when": "applicationStatus", + "eq": "Resubmit" + }, + "logic": [], + "attributes": {}, + "overlay": { + "style": "", + "page": "", + "left": "", + "top": "", + "width": "", + "height": "" + }, + "type": "panel", + "label": "Clerk Comments for client", + "breadcrumb": "default", + "tabindex": "", + "input": false, + "tableView": false, + "components": [ + { + "label": "Comments from Clerk", + "labelPosition": "top", + "placeholder": "", + "description": "", + "tooltip": "", + "prefix": "", + "suffix": "", + "widget": { + "type": "input" + }, + "editor": "", + "autoExpand": false, + "customClass": "", + "tabindex": "", + "autocomplete": "", + "hidden": false, + "hideLabel": false, + "showWordCount": false, + "showCharCount": false, + "autofocus": false, + "spellcheck": true, + "disabled": true, + "tableView": false, + "modalEdit": false, + "multiple": false, + "persistent": true, + "inputFormat": "html", + "protected": false, + "dbIndex": false, + "case": "", + "encrypted": false, + "redrawOn": "clerkComments", + "clearOnHide": false, + "customDefaultValue": "data.clerkComments1=data.clerkComments", + "calculateValue": "", + "calculateServer": false, + "allowCalculateOverride": false, + "validateOn": "change", + "validate": { + "required": false, + "pattern": "", + "customMessage": "", + "custom": "", + "customPrivate": false, + "json": "", + "minLength": "", + "maxLength": "", + "minWords": "", + "maxWords": "", + "strictDateValidation": false, + "multiple": false, + "unique": false + }, + "unique": false, + "errorLabel": "", + "key": "clerkComments1", + "tags": [], + "properties": {}, + "conditional": { + "show": null, + "when": null, + "eq": "", + "json": "" + }, + "customConditional": "", + "logic": [], + "attributes": {}, + "overlay": { + "style": "", + "page": "", + "left": "", + "top": "", + "width": "", + "height": "" + }, + "type": "textarea", + "rows": 3, + "wysiwyg": false, + "input": true, + "refreshOn": "", + "dataGridLabel": false, + "allowMultipleMasks": false, + "mask": false, + "inputType": "text", + "inputMask": "", + "fixedSize": true, + "id": "e4xs8d", + "defaultValue": "", + "addons": [], + "displayMask": "", + "truncateMultipleSpaces": false + } + ], + "placeholder": "", + "prefix": "", + "suffix": "", + "multiple": false, + "defaultValue": null, + "protected": false, + "unique": false, + "persistent": false, + "clearOnHide": false, + "refreshOn": "", + "redrawOn": "", + "dataGridLabel": false, + "labelPosition": "top", + "description": "", + "errorLabel": "", + "autofocus": false, + "dbIndex": false, + "customDefaultValue": "", + "calculateValue": "", + "calculateServer": false, + "widget": null, + "validateOn": "change", + "validate": { + "required": false, + "custom": "", + "customPrivate": false, + "strictDateValidation": false, + "multiple": false, + "unique": false + }, + "allowCalculateOverride": false, + "encrypted": false, + "showCharCount": false, + "showWordCount": false, + "allowMultipleMasks": false, + "tree": false, + "id": "ewv9wn", + "addons": [], + "lazyLoad": false + }, + { + "title": "Approver Actions", + "theme": "default", + "tooltip": "", + "customClass": "", + "collapsible": false, + "hidden": false, + "hideLabel": false, + "disabled": false, + "modalEdit": false, + "key": "managerPanel", + "tags": [], + "properties": {}, + "customConditional": "const UserDetails = JSON.parse(localStorage.getItem(\"UserDetails\"))\nconst groups = UserDetails[\"groups\"]\nif(groups.includes(\"/test-approver\") && (data.applicationStatus===\"Reviewed\")) {\n show = true;\n}\nelse if((data.sendback_by===\"test-approver\" && data.applicationStatus===\"Resubmitted\") && groups.includes(\"/test-approver\")) {\n show = true;\n}\nelse {\nshow = false;\n};", + "conditional": { + "json": "", + "show": null, + "when": null, + "eq": "" + }, + "logic": [], + "attributes": {}, + "overlay": { + "style": "", + "page": "", + "left": "", + "top": "", + "width": "", + "height": "" + }, + "type": "panel", + "label": "Approver Actions", + "breadcrumb": "default", + "tabindex": "", + "input": false, + "tableView": false, + "components": [ + { + "label": "Select Approver Action", + "widget": "choicesjs", + "tableView": false, + "data": { + "values": [ + { + "label": "Approved", + "value": "Approved" + }, + { + "label": "Rejected", + "value": "Rejected" + }, + { + "label": "Returned", + "value": "Returned" + } + ], + "json": "", + "url": "", + "resource": "", + "custom": "" + }, + "key": "managerActionType", + "type": "select", + "input": true, + "searchThreshold": 0.3, + "placeholder": "", + "prefix": "", + "customClass": "", + "suffix": "", + "multiple": false, + "defaultValue": null, + "protected": false, + "unique": false, + "persistent": true, + "hidden": false, + "clearOnHide": true, + "refreshOn": "", + "redrawOn": "", + "modalEdit": false, + "dataGridLabel": false, + "labelPosition": "top", + "description": "", + "errorLabel": "", + "tooltip": "", + "hideLabel": false, + "tabindex": "", + "disabled": false, + "autofocus": false, + "dbIndex": false, + "customDefaultValue": "", + "calculateValue": "", + "calculateServer": false, + "attributes": {}, + "validateOn": "change", + "validate": { + "required": false, + "custom": "", + "customPrivate": false, + "strictDateValidation": false, + "multiple": false, + "unique": false, + "onlyAvailableItems": false + }, + "conditional": { + "show": null, + "when": null, + "eq": "" + }, + "overlay": { + "style": "", + "left": "", + "top": "", + "width": "", + "height": "" + }, + "allowCalculateOverride": false, + "encrypted": false, + "showCharCount": false, + "showWordCount": false, + "properties": {}, + "allowMultipleMasks": false, + "addons": [], + "idPath": "id", + "clearOnRefresh": false, + "limit": 100, + "dataSrc": "values", + "valueProperty": "", + "lazyLoad": true, + "filter": "", + "searchEnabled": true, + "searchDebounce": 0.3, + "searchField": "", + "minSearch": 0, + "readOnlyValue": false, + "authenticate": false, + "ignoreCache": false, + "template": "{{ item.label }}", + "selectFields": "", + "selectThreshold": 0.3, + "uniqueOptions": false, + "fuseOptions": { + "include": "score", + "threshold": 0.3 + }, + "indexeddb": { + "filter": {} + }, + "customOptions": {}, + "useExactSearch": false, + "id": "e32830n" + }, + { + "label": "Approver Comments", + "autoExpand": false, + "tableView": false, + "key": "approverComments", + "customConditional": "if(data.managerActionType) {\n show = true;\n}\nelse {\n show = false;\n}", + "type": "textarea", + "input": true, + "placeholder": "", + "prefix": "", + "customClass": "", + "suffix": "", + "multiple": false, + "defaultValue": null, + "protected": false, + "unique": false, + "persistent": true, + "hidden": false, + "clearOnHide": true, + "refreshOn": "", + "redrawOn": "", + "modalEdit": false, + "dataGridLabel": false, + "labelPosition": "top", + "description": "", + "errorLabel": "", + "tooltip": "", + "hideLabel": false, + "tabindex": "", + "disabled": false, + "autofocus": false, + "dbIndex": false, + "customDefaultValue": "", + "calculateValue": "", + "calculateServer": false, + "widget": { + "type": "input" + }, + "attributes": {}, + "validateOn": "change", + "validate": { + "required": false, + "custom": "", + "customPrivate": false, + "strictDateValidation": false, + "multiple": false, + "unique": false, + "minLength": "", + "maxLength": "", + "pattern": "", + "minWords": "", + "maxWords": "" + }, + "conditional": { + "show": null, + "when": null, + "eq": "" + }, + "overlay": { + "style": "", + "left": "", + "top": "", + "width": "", + "height": "" + }, + "allowCalculateOverride": false, + "encrypted": false, + "showCharCount": false, + "showWordCount": false, + "properties": {}, + "allowMultipleMasks": false, + "addons": [], + "mask": false, + "inputType": "text", + "inputFormat": "html", + "inputMask": "", + "displayMask": "", + "spellcheck": true, + "truncateMultipleSpaces": false, + "rows": 3, + "wysiwyg": false, + "editor": "", + "fixedSize": true, + "id": "eoefjw" + }, + { + "label": "Submit", + "action": "custom", + "showValidations": false, + "disabled": true, + "tableView": false, + "key": "submitAction1", + "conditional": { + "show": true, + "when": null, + "eq": "" + }, + "customConditional": "if(data.managerActionType){\n component.disabled=false;\n}else{\n component.disabled=true;\n}", + "type": "button", + "custom": "const submissionId = form._submission._id;\nconst formDataReqUrl = form.formio.formUrl+'/submission/'+submissionId;const formDataReqObj1 = { \"_id\": submissionId, \"data\": data};\nconst formio = new Formio(formDataReqUrl);\nformio.saveSubmission(formDataReqObj1).then( result => {\nform.emit('customEvent', {\n type: \"actionComplete\", \n component: component,\n actionType:data.managerActionType\n }); \n}).catch((error)=>{\n//Error callback on not Save\n});", + "input": true, + "placeholder": "", + "prefix": "", + "customClass": "", + "suffix": "", + "multiple": false, + "defaultValue": null, + "protected": false, + "unique": false, + "persistent": false, + "hidden": false, + "clearOnHide": true, + "refreshOn": "", + "redrawOn": "", + "modalEdit": false, + "dataGridLabel": true, + "labelPosition": "top", + "description": "", + "errorLabel": "", + "tooltip": "", + "hideLabel": false, + "tabindex": "", + "autofocus": false, + "dbIndex": false, + "customDefaultValue": "", + "calculateValue": "", + "calculateServer": false, + "widget": { + "type": "input" + }, + "attributes": {}, + "validateOn": "change", + "validate": { + "required": false, + "custom": "", + "customPrivate": false, + "strictDateValidation": false, + "multiple": false, + "unique": false + }, + "overlay": { + "style": "", + "left": "", + "top": "", + "width": "", + "height": "" + }, + "allowCalculateOverride": false, + "encrypted": false, + "showCharCount": false, + "showWordCount": false, + "properties": {}, + "allowMultipleMasks": false, + "addons": [], + "size": "md", + "leftIcon": "", + "rightIcon": "", + "block": false, + "disableOnInvalid": false, + "theme": "primary", + "id": "ew5zec" + } + ], + "placeholder": "", + "prefix": "", + "suffix": "", + "multiple": false, + "defaultValue": null, + "protected": false, + "unique": false, + "persistent": false, + "clearOnHide": false, + "refreshOn": "", + "redrawOn": "", + "dataGridLabel": false, + "labelPosition": "top", + "description": "", + "errorLabel": "", + "autofocus": false, + "dbIndex": false, + "customDefaultValue": "", + "calculateValue": "", + "calculateServer": false, + "widget": null, + "validateOn": "change", + "validate": { + "required": false, + "custom": "", + "customPrivate": false, + "strictDateValidation": false, + "multiple": false, + "unique": false + }, + "allowCalculateOverride": false, + "encrypted": false, + "showCharCount": false, + "showWordCount": false, + "allowMultipleMasks": false, + "addons": [], + "tree": false, + "lazyLoad": false, + "id": "eiz6q5h" + }, + { + "title": "Comments from Approver", + "theme": "default", + "tooltip": "", + "customClass": "", + "collapsible": false, + "hidden": false, + "hideLabel": false, + "disabled": false, + "modalEdit": false, + "key": "commentsFromApprover", + "tags": [], + "properties": {}, + "customConditional": "if(data.applicationStatus===\"Resubmit\" && data.managerActionType) {\n show = true;\n}\nelse {\n show = false;\n};", + "conditional": { + "json": "", + "show": null, + "when": null, + "eq": "" + }, + "logic": [], + "attributes": {}, + "overlay": { + "style": "", + "page": "", + "left": "", + "top": "", + "width": "", + "height": "" + }, + "type": "panel", + "label": "Comments from Approver", + "breadcrumb": "default", + "tabindex": "", + "input": false, + "tableView": false, + "components": [ + { + "label": "Comments from Approver", + "labelPosition": "top", + "placeholder": "", + "description": "", + "tooltip": "", + "prefix": "", + "suffix": "", + "widget": { + "type": "input" + }, + "editor": "", + "autoExpand": false, + "customClass": "", + "tabindex": "", + "autocomplete": "", + "hidden": false, + "hideLabel": false, + "showWordCount": false, + "showCharCount": false, + "autofocus": false, + "spellcheck": true, + "disabled": true, + "tableView": false, + "modalEdit": false, + "multiple": false, + "persistent": true, + "inputFormat": "html", + "protected": false, + "dbIndex": false, + "case": "", + "encrypted": false, + "redrawOn": "", + "clearOnHide": true, + "customDefaultValue": "value=data.approverComments", + "calculateValue": "data.commentsFromApprover1=data.approverComments", + "calculateServer": false, + "allowCalculateOverride": false, + "validateOn": "change", + "validate": { + "required": false, + "pattern": "", + "customMessage": "", + "custom": "", + "customPrivate": false, + "json": "", + "minLength": "", + "maxLength": "", + "minWords": "", + "maxWords": "", + "strictDateValidation": false, + "multiple": false, + "unique": false + }, + "unique": false, + "errorLabel": "", + "key": "commentsFromApprover1", + "tags": [], + "properties": {}, + "conditional": { + "show": null, + "when": null, + "eq": "", + "json": "" + }, + "customConditional": "", + "logic": [], + "attributes": {}, + "overlay": { + "style": "", + "page": "", + "left": "", + "top": "", + "width": "", + "height": "" + }, + "type": "textarea", + "rows": 3, + "wysiwyg": false, + "input": true, + "refreshOn": "", + "dataGridLabel": false, + "allowMultipleMasks": false, + "mask": false, + "inputType": "text", + "inputMask": "", + "fixedSize": true, + "id": "ez99x1", + "defaultValue": "", + "addons": [], + "displayMask": "", + "truncateMultipleSpaces": false + } + ], + "placeholder": "", + "prefix": "", + "suffix": "", + "multiple": false, + "defaultValue": null, + "protected": false, + "unique": false, + "persistent": false, + "clearOnHide": false, + "refreshOn": "", + "redrawOn": "", + "dataGridLabel": false, + "labelPosition": "top", + "description": "", + "errorLabel": "", + "autofocus": false, + "dbIndex": false, + "customDefaultValue": "", + "calculateValue": "", + "calculateServer": false, + "widget": null, + "validateOn": "change", + "validate": { + "required": false, + "custom": "", + "customPrivate": false, + "strictDateValidation": false, + "multiple": false, + "unique": false + }, + "allowCalculateOverride": false, + "encrypted": false, + "showCharCount": false, + "showWordCount": false, + "allowMultipleMasks": false, + "tree": false, + "id": "eb5ywpp", + "addons": [], + "lazyLoad": false + }, + { + "label": "applicationId", + "customClass": "", + "modalEdit": false, + "defaultValue": null, + "persistent": true, + "protected": false, + "dbIndex": false, + "encrypted": false, + "redrawOn": "", + "customDefaultValue": "", + "calculateValue": "", + "calculateServer": false, + "key": "applicationId", + "tags": [], + "properties": {}, + "logic": [], + "attributes": {}, + "overlay": { + "style": "", + "page": "", + "left": "", + "top": "", + "width": "", + "height": "" + }, + "type": "hidden", + "input": true, + "tableView": false, + "placeholder": "", + "prefix": "", + "suffix": "", + "multiple": false, + "unique": false, + "hidden": false, + "clearOnHide": true, + "refreshOn": "", + "dataGridLabel": false, + "labelPosition": "top", + "description": "", + "errorLabel": "", + "tooltip": "", + "hideLabel": false, + "tabindex": "", + "disabled": false, + "autofocus": false, + "widget": { + "type": "input" + }, + "validateOn": "change", + "validate": { + "required": false, + "custom": "", + "customPrivate": false, + "strictDateValidation": false, + "multiple": false, + "unique": false + }, + "conditional": { + "show": null, + "when": null, + "eq": "" + }, + "allowCalculateOverride": false, + "showCharCount": false, + "showWordCount": false, + "allowMultipleMasks": false, + "inputType": "hidden", + "id": "ewehkx", + "addons": [] + }, + { + "label": "applicationStatus", + "customClass": "", + "modalEdit": false, + "defaultValue": null, + "persistent": true, + "protected": false, + "dbIndex": false, + "encrypted": false, + "redrawOn": "", + "customDefaultValue": "", + "calculateValue": "", + "calculateServer": false, + "key": "applicationStatus", + "tags": [], + "properties": {}, + "logic": [], + "attributes": {}, + "overlay": { + "style": "", + "page": "", + "left": "", + "top": "", + "width": "", + "height": "" + }, + "type": "hidden", + "input": true, + "tableView": false, + "placeholder": "", + "prefix": "", + "suffix": "", + "multiple": false, + "unique": false, + "hidden": false, + "clearOnHide": true, + "refreshOn": "", + "dataGridLabel": false, + "labelPosition": "top", + "description": "", + "errorLabel": "", + "tooltip": "", + "hideLabel": false, + "tabindex": "", + "disabled": false, + "autofocus": false, + "widget": { + "type": "input" + }, + "validateOn": "change", + "validate": { + "required": false, + "custom": "", + "customPrivate": false, + "strictDateValidation": false, + "multiple": false, + "unique": false + }, + "conditional": { + "show": null, + "when": null, + "eq": "" + }, + "allowCalculateOverride": false, + "showCharCount": false, + "showWordCount": false, + "allowMultipleMasks": false, + "inputType": "hidden", + "id": "e52pd7r", + "addons": [] + }, + { + "label": "sendback_by", + "customClass": "", + "modalEdit": false, + "defaultValue": null, + "persistent": true, + "protected": false, + "dbIndex": false, + "encrypted": false, + "redrawOn": "", + "customDefaultValue": "", + "calculateValue": "", + "calculateServer": false, + "key": "sendback_by", + "tags": [], + "properties": {}, + "logic": [], + "attributes": {}, + "overlay": { + "style": "", + "page": "", + "left": "", + "top": "", + "width": "", + "height": "" + }, + "type": "hidden", + "input": true, + "tableView": false, + "placeholder": "", + "prefix": "", + "suffix": "", + "multiple": false, + "unique": false, + "hidden": false, + "clearOnHide": true, + "refreshOn": "", + "dataGridLabel": false, + "labelPosition": "top", + "description": "", + "errorLabel": "", + "tooltip": "", + "hideLabel": false, + "tabindex": "", + "disabled": false, + "autofocus": false, + "widget": { + "type": "input" + }, + "validateOn": "change", + "validate": { + "required": false, + "custom": "", + "customPrivate": false, + "strictDateValidation": false, + "multiple": false, + "unique": false + }, + "conditional": { + "show": null, + "when": null, + "eq": "" + }, + "allowCalculateOverride": false, + "showCharCount": false, + "showWordCount": false, + "allowMultipleMasks": false, + "inputType": "hidden", + "id": "ecysisl", + "addons": [] + } + ], + "created": "2024-03-18T11:15:02.517Z", + "modified": "2024-09-19T15:12:19.883Z" + } + } + ], + "workflows": [ + { + "processKey": "two-step-test", + "processName": "Two Step Approval-test", + "processType": "BPMN", + "type": "main", + "content": "\n\n \n \n \n \n \n \n StartEvent_1\n ExclusiveGateway_0xgo1b6\n Task_05ulff4\n \n \n Clerk\n \n \n Approver\n Gateway_1v4jtnt\n Activity_0to53jt\n Event_14ury70\n \n \n \n \n \n execution.setVariable('applicationStatus', 'New');\n \n \n \n [\"applicationId\", \"applicationStatus\"]\n \n \n \n \n \n \n \n \n \n \n \n \n [\"applicationId\", \"applicationStatus\"]\n \n \n \n ${action == 'Reviewed'}\n \n \n \n \n execution.setVariable('applicationStatus', \"Resubmitted\");\n \n \n \n \n [\"applicationId\", \"applicationStatus\"]\n \n \n \n ${sendback_by == 'Clerk'}\n \n \n \n \n execution.setVariable('applicationStatus', \"Resubmitted\");\n \n \n \n \n [\"applicationId\", \"applicationStatus\"]\n \n \n \n ${sendback_by == 'Approver'}\n \n \n \n \n execution.setVariable('sendback_by', \"Approver\");\n \n \n \n \n \n [\"applicationId\", \"applicationStatus\", \"sendback_by\"]\n \n \n \n ${action == 'Returned'}\n \n \n \n \n execution.setVariable('sendback_by', \"Clerk\");\n \n \n \n \n \n [\"applicationId\", \"applicationStatus\", \"sendback_by\"]\n \n \n \n ${action == 'Returned'}\n \n \n \n SequenceFlow_09ahed3\n SequenceFlow_009hwyx\n SequenceFlow_07hh4hx\n \n \n \n \n task.execution.setVariable('applicationStatus', task.execution.getVariable('action'));\ntask.execution.setVariable('deleteReason', \"completed\");\n \n \n SequenceFlow_0xvu6g6\n SequenceFlow_07hh4hx\n Flow_0p0ggqr\n \n \n \n \n task.execution.setVariable('applicationStatus', task.execution.getVariable('action'));\ntask.execution.setVariable('deleteReason', \"completed\");\n \n \n SequenceFlow_0byzagb\n SequenceFlow_009hwyx\n SequenceFlow_0xvu6g6\n SequenceFlow_0m9aeyc\n \n \n SequenceFlow_0byzagb\n \n \n \n Flow_0p0ggqr\n Flow_19h7qlh\n Flow_0rjn1gz\n SequenceFlow_0r45fgh\n \n \n \n \n \n \n [\"applicationId\", \"applicationStatus\"]\n \n \n \n \n Flow_19h7qlh\n Flow_0rjn1gz\n Flow_11o2r98\n \n \n ${action == 'Approved'}\n \n \n ${action == 'Rejected'}\n \n \n \n Flow_11o2r98\n \n \n \n \n execution.setVariable('applicationStatus', \"Resubmit\");\n \n \n \n \n \n [\"applicationId\", \"applicationStatus\"]\n \n \n \n SequenceFlow_0r45fgh\n SequenceFlow_0m9aeyc\n SequenceFlow_09ahed3\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n" + } + ], + "rules": [], + "authorizations": [ + { + "FORM": { + "resourceId": "66bc5efaf7233a69e662f158", + "resourceDetails": {}, + "roles": [], + "userName": null + }, + "DESIGNER": { + "resourceId": "66bc5efaf7233a69e662f158", + "resourceDetails": {}, + "roles": [], + "userName": null + }, + "APPLICATION": { + "resourceId": "66bc5efaf7233a69e662f158", + "resourceDetails": {}, + "roles": [], + "userName": null + } + } + ] +} \ No newline at end of file diff --git a/forms-examples/formio.zip b/forms-examples/formio.zip new file mode 100644 index 0000000..76ec217 Binary files /dev/null and b/forms-examples/formio.zip differ diff --git a/rpa-examples/robocorp/background-check-robot/README.md b/rpa-examples/robocorp/background-check-robot/README.md new file mode 100644 index 0000000..0a49134 --- /dev/null +++ b/rpa-examples/robocorp/background-check-robot/README.md @@ -0,0 +1,2 @@ +# Background Check Robot +Refer this [Background Check](https://github.com/AOT-Technologies/forms-flow-ai-extensions/blob/master/rpa-robocorp-extension/external-client-extension/starter-examples/robots/background-check-robot-readme.md) Robot and [Usage](https://github.com/AOT-Technologies/forms-flow-ai-extensions/blob/master/rpa-robocorp-extension/external-client-extension/USAGE.md). diff --git a/rpa-examples/robocorp/background-check-robot/conda.yaml b/rpa-examples/robocorp/background-check-robot/conda.yaml new file mode 100644 index 0000000..65c7d32 --- /dev/null +++ b/rpa-examples/robocorp/background-check-robot/conda.yaml @@ -0,0 +1,16 @@ +channels: + # Define conda channels here. + - conda-forge + +dependencies: + # Define conda packages here. + # If available, always prefer the conda version of a package, installation will be faster and more efficient. + # https://anaconda.org/search + - python=3.7.5 + - FPDF + + - pip=20.1 + - pip: + # Define pip packages here. + # https://pypi.org/ + - rpaframework==12.6.0 # https://rpaframework.org/releasenotes.html diff --git a/rpa-examples/robocorp/background-check-robot/pdfGen.py b/rpa-examples/robocorp/background-check-robot/pdfGen.py new file mode 100644 index 0000000..35c7fe9 --- /dev/null +++ b/rpa-examples/robocorp/background-check-robot/pdfGen.py @@ -0,0 +1,86 @@ +# + +import os +from fpdf import FPDF +from PIL import Image + +pdf = FPDF(orientation = 'P', unit = 'mm', format='A4') + +def new_pdf(): + pdf.add_page() + + # Set Margin + pdf.l_margin = pdf.l_margin*1.0 + pdf.r_margin = pdf.r_margin*1.0 + pdf.t_margin = pdf.t_margin*1.0 + pdf.b_margin = pdf.b_margin*1.0 + # Effective page width and height + epw = pdf.w - pdf.l_margin - pdf.r_margin + eph = pdf.h - pdf.t_margin - pdf.b_margin + # Draw new margins. + pdf.rect(pdf.l_margin, pdf.t_margin, w=epw, h=eph) + + # set style and size of font + # that you want in the pdf + pdf.set_font("Arial", 'BU', 18.0) + pdf.ln(10) + # create a cell + pdf.cell(200, 10, txt = "New Business License Application", + ln = 2, align = 'C') + pdf.ln(2) + # add another cell + pdf.cell(200, 10, txt = "Background Verification", + ln = 2, align = 'C') + pdf.ln(10) + +def add_new_heading(headerText): + # set style and size of font + pdf.set_font("Arial", 'U', size = 12) + pdf.set_text_color(0, 0, 255) + # add a cell + pdf.cell(200, 0, txt = headerText, + ln = 2, align = 'C') + +def add_new_page(headerText): + pdf.add_page() + + # Set Margin + pdf.l_margin = pdf.l_margin*1.0 + pdf.r_margin = pdf.r_margin*1.0 + pdf.t_margin = pdf.t_margin*1.0 + pdf.b_margin = pdf.b_margin*1.0 + # Effective page width and height + epw = pdf.w - pdf.l_margin - pdf.r_margin + eph = pdf.h - pdf.t_margin - pdf.b_margin + # Draw new margins. + pdf.rect(pdf.l_margin, pdf.t_margin, w=epw, h=eph) + pdf.ln(20) + # set style and size of font + pdf.set_font("Arial", 'U', size = 12) + pdf.set_text_color(0, 0, 255) + # add a cell + pdf.cell(200, 10, txt = headerText, + ln = 2, align = 'C') + +def add_image_file(image): + pdf.image(image, 30, 80, 135) + +def footer(self): + # Go to 1.5 cm from bottom + self.set_y(-15) + # Select Arial italic 8 + self.set_font('Arial', 'I', 8) + # Print centered page number + self.cell(0, 10, 'Page %s' % self.page_no(), 0, 0, 'C') + +def header(): + # Arial bold 15 + pdf.set_font('Arial','B',15); + # Move to the right + pdf.cell(80); + # Title + pdf.cell(30,10,'AOT TECHNOLOGIES',1,0,'C'); + # Line break + pdf.ln(20); + +def save_pdf_file(pdfFile): + pdf.output(pdfFile) diff --git a/rpa-examples/robocorp/background-check-robot/robot.yaml b/rpa-examples/robocorp/background-check-robot/robot.yaml new file mode 100644 index 0000000..2aa1dc2 --- /dev/null +++ b/rpa-examples/robocorp/background-check-robot/robot.yaml @@ -0,0 +1,12 @@ +tasks: + Default: + shell: python -m robot --report NONE --outputdir output --logtitle "Task log" tasks.robot + +condaConfigFile: conda.yaml +artifactsDir: output +PATH: + - . +PYTHONPATH: + - . +ignoreFiles: + - .gitignore diff --git a/rpa-examples/robocorp/background-check-robot/tasks.robot b/rpa-examples/robocorp/background-check-robot/tasks.robot new file mode 100644 index 0000000..12e4026 --- /dev/null +++ b/rpa-examples/robocorp/background-check-robot/tasks.robot @@ -0,0 +1,152 @@ +# + + # + +*** Settings *** +Documentation Background check for New Business License Application +... Capture screenshots of the below categories and append it to a PDF file. +... 1. Social media company profile like Linkedin, Twitter, Facebook and Instagram. +... 2. Checking if Business have a working website. +... 3. Google search results about company. +... 4. Validating if company is blacklisted or not. (Assuming the business is going to start in Canada) + +Library RPA.Robocloud.Secrets +Library RPA.Browser.Selenium +Library RPA.FileSystem +Library Collections +Library RPA.Archive +Library pdfGen.py +Library RPA.HTTP +Library RPA.PDF +Library DateTime +# - + + +# Imported Libraries + +*** Variables *** +${GLOBAL_RETRY_AMOUNT}= 3x +${GLOBAL_RETRY_INTERVAL}= 1s +${MAX_SEARCH_RESULT_CLICKABLE}= 3 +${RUNTIME_DIR}= ${CURDIR}${/}output${/}runtime +${FINAL_DIR}= ${CURDIR}${/}output${/}result +${SEARCH_ENGINE}= http://www.google.com +${businessOperatingName}= AOT Technologies +${businessWebsite}= http://www.aot-technologies.com +${search-engine-url}= https://google.com +${verify-bc-org-url}= https://www.orgbook.gov.bc.ca/en/home + + +# + +*** Keywords *** +Gather The Social Media Profiles + + New Pdf + + Add New Heading Validate If Company Was Blacklisted + + Validate If Company Was Blacklisted ${businessOperatingName} + + Add New Page Search In Intranet About The Company + + Search In Intranet About The Company ${businessOperatingName} + + ${profiles} = Create List facebook linkedin twitter instagram + + Search And Append Social Media Search Results ${businessOperatingName} ${profiles} + + Add New Page Validate Company Website + + Open And Validate Company Website ${businessWebsite} + + Log To Console Checks completed + + ${timestamp} = Get Current Date result_format=%Y%m%d%H%M%S + + Save Pdf File ${FINAL_DIR}${/}data.pdf + +Search And Append Social Media Search Results + [Arguments] ${businessOperatingName} ${profiles} + Log To Console Started : Searching in facebook for company profiles + Open Available Browser ${search-engine-url} + Agree To Google Terms + FOR ${profile} IN @{profiles} + Input Text //input[@title="Search"] ${businessOperatingName} ${profile} + Submit Form + Wait Until Element Is Visible //div[@id="center_col"] + Take a screenshot of the page //div[@id="center_col"] ${profile} + Add New Page ${profile} + Add Image File ${RUNTIME_DIR}${/}${profile}.png + Go Back + END + Log To Console Completed : Searching in facebook for company profiles + [Teardown] Close Intranet Browser + +Search In Intranet About The Company + [Arguments] ${businessOperatingName} + Log To Console Started : Searching in intranet about the company + Open Available Browser ${search-engine-url} + Agree To Google Terms + Input Text //input[@title="Search"] ${businessOperatingName} + Submit Form + Wait Until Element Is Visible //div[@id="rcnt"] + Take a screenshot of the page //div[@id="rcnt"] searchResults + Add Image File ${RUNTIME_DIR}${/}searchResults.png + Log To Console Completed : Searching in intranet about the company + [Teardown] Close Intranet Browser + +Open And Validate Company Website + [Arguments] ${businessWebsite} + Log To Console Started : Open And Validate Company Website + ${length}= Get Length ${businessWebsite} + ${fileName}= Set Variable ${RUNTIME_DIR}${/}companyWebsite.png + IF ${length} > 0 + Open Available Browser ${businessWebsite} + Capture Page Screenshot ${fileName} + Add Image File ${fileName} + END + Log To Console End : Open And Validate Company Website + [Teardown] Close Intranet Browser + +Validate If Company Was Blacklisted + [Arguments] ${businessOperatingName} + Log To Console Started : Validate If Company Was Blacklisted + Open Available Browser ${search-engine-url} + Agree To Google Terms + Input Text //input[@title="Search"] ${businessOperatingName} + Submit Form + Take a screenshot of the page //div[@class="GyAeWb"] blacklistdata + Add Image File ${RUNTIME_DIR}${/}blacklistdata.png + Log To Console End : Validate If Company Was Blacklisted + [Teardown] Close Intranet Browser + +Take a screenshot of the page + [Arguments] ${webEl} ${name} + Wait Until Page Contains Element ${webEl} timeout=20 + Screenshot ${webEl} ${RUNTIME_DIR}${/}${name}.png + +Agree To Google Terms + ${res}= Does Page Contain Button I agree + IF ${res} == True + Click Button I agree + END + +Remove and create directory + [Arguments] ${DIR} + Remove Directory ${DIR} True + Create Directory ${DIR} + +Cleanup directory + ${RUNTIME}= Does Directory Exist ${RUNTIME_DIR} + ${FINAL}= Does Directory Exist ${FINAL_DIR} + Run Keyword If '${RUNTIME}'==True Remove and create directory ${RUNTIME} ELSE Create Directory ${RUNTIME_DIR} + Run Keyword If '${FINAL}'==True Remove and create directory ${FINAL} ELSE Create Directory ${FINAL_DIR} + +Close Intranet Browser + Close Browser +# - + + +*** Tasks *** +Do Background check for the New Business Application + Cleanup directory + Gather The Social Media Profiles + [Teardown] Close Intranet Browser diff --git a/rpa-examples/robocorp/background-check-robot/vault.json b/rpa-examples/robocorp/background-check-robot/vault.json new file mode 100644 index 0000000..c28f72a --- /dev/null +++ b/rpa-examples/robocorp/background-check-robot/vault.json @@ -0,0 +1,6 @@ +{ + "my_vault": { + "search-engine-url" : "https://google.com", + "verify-bc-org-url" : "https://www.orgbook.gov.bc.ca/en/home" + } +} \ No newline at end of file