- view
- component
- plugin
- App
- store
- router
- nodeEnum
- implicationEnum
The components are used in Vue views to make up a web page.
returns the login landing page, asking the user wether they want to create an account.
Returns the page where new users get offered recommended surveys.
Returns the CDN page, where the user can upload and delete serviceables
Returns the login page, where the user can login or register
Is a leftover page from the original template
Returns the dashboard page where users will go to after logging in.
Returns the survey page, where the user can answere questions to fill in a survey.
Returns the flowchart page, where the user can create and edit flowcharts
Returns the landing page, the page most users see when the open the website.
The components are used in Vue views to make up a web page.
The components used in the CDN view.
This is a textfield modded to act like a filepicker.
Returns the table used in the CDN page. displays serviceables
serviceables
Array<Serviceable> the serviceables that are going to be displayed
Returns the top-bar used in the CDN page, this contains a small form with a name field and a filepicker
valid
booleanform
topbarForm
The components used in the Dashboard view.
Marco/Sueño garbage, nobody really knows its purpose.
Meta
- deprecated: removed in the next version.
Returns a view containing all of the recommended surveys, these are currently hard-coded.
Returns a view containing all surveys.
Returns a view containing all of the latest surveys, this is currently all mock data.
Returns a view containing all of the latest reports, this is currently all mock data.
Returns a view containing all incomplete surveys, this is currently all mock data.
The components used in the landingpage view.
Provides part of the landing page's information.
Provides part of the landing page's information.
stats
String an image from the cdn
Provides part of the landing page's information.
Students
String an image from the cdn.Startups
String an image from the cdn.LawFirms
String an image from the cdn.
The components used in the Login view.
Returns the Login navbar
Returns the logo used on the login page.
Returns the login form.
onclick
functioncallback
functionname
Stringemail
Booleanfirstname
Booleanpassword
Booleanconfirmpassword
Boolean
The core components.
Returns the core-view used in the root component
Returns the footer with links to other places.
Returns the drawer that is used in the dashboard.
returns a topbar that contains common things like notifications, accounts, etc
Meta
- deprecated: this is no longer used.
The material design components.
Returns a temporary notification
activated
boolean
Returns a question card.
Returns a card that contains a chart.
Returns a round card.
redirecturl
Stringimagename
Stringtext
StringcardWidth
StringimageSize
StringimageWidth
StringimageHeight
Stringdirection
String
Returns a card containing an image
redirecturl
Stringimagename
Stringtext
StringcardWidth
StringimageSize
StringimageWidth
StringimageHeight
Stringdirection
String
Returns a list cards.
imageWidth
Stringredirecturl
Stringimagename
Stringtext
Stringtitle
Stringdescription
Stringorientation
Stringprogress
String
Returns a material design card to be used in other components
color
Stringelevation
Numberinline
BooleanfullWidth
Booleanoffset
Numbertitle
Stringtext
Stringicon
String
Return a card with stats
color
Stringelevation
Numberinline
BooleanfullWidth
Booleanoffset
Numbertitle
Stringtext
Stringicon
StringsubIcon
StringsubIconColor
StringsubTextColor
StringsubText
Stringvalue
StringsmallValue
String
The components used in the Survey view.
Returns an 'info' view used in the survey.
Returns a list containing all implications.
Returns an 'survey information' view used in the survey
Returns an 'progress' view used in the survey.
Returns an 'endpage' view used after the survey.
Returns an 'multiplechoice' view used in the survey.
Returns an 'question' view used in the survey.
The form used in the flowchart editor.
Generic flowchart form view.
View used for 'Module' cells
View used for 'MultipleChoice' cells.
View used for 'Notification' cells.
View used for 'Question' cells.
View used for general action / no cells.
View used for 'Edge' cells.
View used for 'Choice' cells.
Provided an offset in a view
returns a nice animated background with moving particles that are connected to each other. This is used on the landing page.
The plugins used in Vue that are called from the components
Notifiation plugin used to show notifications
Shows notification, takes in a message to display. Gets the root app component references and looks for the notification component. Calls the showNotification function of that component.
message
type
Exports the theme with default colours
PdfReporter plugin used to create PDF's and offer them as a download.
Creates a demo PDF
The flowchart editor plugin, used in the flowchart editor pages This script is used for a loose connection between the plugin and Vue.js It will provide the nescesarry information to the flowcharteditor plugin by looking at the store in the plugin. So if you want to use the flowcharteditor than this should be a complete configuration for your Vue.js setup. The advantage this plugin script provides is the ability to modify the looks of the editor's formatbar and
Starts the flowchart editor, and inits defaults
register to the variable that will change when the variable changes. When something changes in the store of the flowchart editor this function will be called in order to update the Vue store
Give the flowchart editor the veutify theme of the linked vue.js project
Sets the correct dialogState. Its used for the import dialog. Whenever the import has succeeded and the flowchart plugin is converting the data to a visual flowchart it will close the dialog window by this method.
val
dialogState is a boolean
Function for flowchart plugin callbacks. Its used to activate the correct formatbar for instance the QuestionNode formatbar. For clarification the instance is a Vue component. This method should call a store action that will change a state.
val
FormatBarType
Sets the new selected cell. Its used to retrieve cell information to fill the formatbar with. This method should call a store action that will change a state.
val
SelectedCell a MXGraph cell class
Sets the new flowchart that has been found by an API call to the back-end This will start the flowchart importation in the flowchart plugin by the state trigger in the Main.js script
val
FlowchartState is the JSON of a flowchart
Exports the flowchart that has been made by the editor into a JSON format.
Changes the selected question nodes data. This will be called from a QuestionNode Formatbar Vue component
questionNode
String the value of the selected question cellquestion
String the question that will be asked in the survey front-endreason
String the reason why you ask the question
Changes the selected node data of a generic node. For instance a notification node.
nodeName
String the value of the selected generic cellname
String the value that will be used in the survey front-end
Changes the selected multi choice node data.
nodeName
String the value of the selected multichoice celltitle
String the title of the multi choice, this will also be the question asked in the front-endamountOfChoices
Number the amount of choices this multi choice containsreason
String the reason why you ask the questionloopSubQuestions
Boolean used in order to loob the same subquestion if there are any.
Change the selected edge data
name
String the value of the selected edgeimplication
String the implication of the edge/ answer of questioinimplicationLevel
String the level of the implication (warning, info, etc...)implicationColor
String the hex color you want to turn the edge into
This contains some enums that can be used in the Vue project
The root component, all over components get interpolated into this.
The store file is the main script that combines all the submodules into one big store. From here you can enter the different submodules by using the standard vuex methods (e.g. mapActions)
The cdn module contains actions that make API calls to the CDN Service This sub module is used in the following components:
- ServiceableTable (getAllData, delete)
- ServiceableTopbar (uploadImage)
Returns the specific data with a specific name from the serviceables array
state
Retrieves all metadata from the CDN service
$0
Object$0.commit
$0.dispatch
Retrieves the metadata from a specific ID in the cdn service
$0
Object$0.commit
$0.dispatch
$0.getters
id
Attempts to delete an serviceable from the CDN service
$0
Object$0.commit
$0.dispatch
serviceable
Attempts to push a new serviceable to the CDN service
The Progress module contains the progress of the survey and the backlog of questions that need to be asked to the user. It also has some extra states that are node specific (e.g. notification and options) This submodule is used in the following view:
- Survey (mapState currentquestion, progress, notification, options and mapActions fillProgress, setCurrenQuestion, fillCurrentQuestionBacklog, clearSubQuestionBacklog)
Calculates the new progress and sets the progress bar
Sets the current question that the user can answere
Fills the current question backlog
Clears the current question backlog
$0
Object$0.commit
Fills the sub-question backlog
$0
Object$0.commit
futureSubQuestions
Clears the current sub-question backlog
$0
Object$0.commit
Sets a new notification
$0
Object$0.commit
notification
The answer module contians all the answers of the survey that has been made These answers will be used for the PDF generation and can be stored in the questionaire service This submodule is used in the following views:
- Survey (mapState all and mapActions deleteLastAnswer, answerQuestion)
Retrieves all answeres from the store
state
Retrieves a question from the store with a specific ID
state
Pushes an answere to the store. This should also contain the user's entered data.
Removes the last pushed answere from the store.
$0
Object$0.commit
The survey module contains the survey that the user wants to make and also the first question that needs to be asked because a flowchart can start with a start node or something else instead of a question (or multichoice, etc.) node This submodule is used in the following views/ components:
- Survey (mapState all and mapGetters getFirstQuestionID and mapActions getSurveyByID)
- AllSurveys/ IncompleteSurveys/ LatestReports (mapState all, mapActions getAllSurveys)
Gets the first upcoming questionID out of the current state.
state
Retrieves all available surveys from the server.
$0
Object$0.commit
$0.dispatch
Retrieves a survey by ID from the server.
$0
Object$0.commit
$0.dispatch
surveyID
The login module contains the login/ register API calls to the account service and contians feedback of these calls and if the user wants to register or login This submodule is used in the following view:
- Login (mapState loggingIn, logginrText, alert and MapActions registerUser, loginUser, switchForms)
Returns the isLogging in boolean which is false if the user is attempting to register.
state
Attempts to create a new account at the server from the user data
$0
Object$0.commit
$0.dispatch
registerData
Attempts to log the user in based on the entered information.
$0
Object$0.commit
$0.dispatch
loginData
Displays the correct form based on the loggingIn boolean.
$0
Object$0.commit
loggingIn
The notificationHandler module contains actions that store any notification (error, success, warning) that you want the user to know and gives any new notifications to the user as a snackbar. This sub module is used in the following components:
- cdn.js (addNotification)
- flowcharteditor.js (addNotification)
- login.js (addNotification)
- survey.js (addNotification)
- answer.js (addNotification) Hoort dit in deze handler of is het beter om dit apart te houden aangezien dit niet bij het systeem hoort maar een bepaalde user zijn survey
Adds notification to the notifications array and shows it to the user
$0
Object$0.commit
newNotification
Clears all the notifications from the array
$0
Object$0.commit
The app module are some standard methods and states that are used for the look of the site This submodule is used in the following views:
- CDN (setBackground, setFooterColor)
- FlowchartEditor (setBackground, setFooterColor)
- LandingPage (setBackground)
- Login (setBackground)
- Survey (setBackground, setFooterColor)
- Surveys (setBackground)
- Dashboard (setBackground)
The states are watched by the following views and components
- App (background and newUser state, also setBackground)
- Footer (footerColor)
- Drawer (drawerOpen)
Returns the drawer from the state
state
Returns the background from the state
state
Returns the new user from the state
state
Returns the footer colour
state
Sets the drawer to the state
$0
Object$0.commit
drawerOpen
Sets the background to the state
$0
Object$0.commit
newBg
Sets the footer colour to the state
$0
Object$0.commit
newColor
Sets the new user to the state
$0
Object$0.commit
newUser
The flowcharteditor module contains methods and states used for displaying the right UI component (Formatbar) and also saving and import a flowchart from the module service This submodule is used in the following views:
- FlowchartEditor (mapState formatBarType)
- FlowchartForm (mapState dialog, flowchart and mapActions setDialog, getFlowchartByName)
- GeneralFunction (mapActions saveFlowchart)
- All the other components (mapState selectedCell, formatBarType)
- plugins/flowchareditor script (mapActions setDialog, setFormatBarType, setSelectedCell)
The following actions are called from the plugin/flowcharteditor script who gets its info from the flowcharteditor store in the libs folder. We chose to do it this way so that you have a lose connection between the flowcharteditor plugin and Vue.js (like using an interface in Java) But if you want to seperate the flowchart editor and Vue.js completly you cant use Vuetify to render the formatbar and you would be forced to generate HTML within js which will get large and messy. A downside of this design choice is that the library is not completly seperated/SOLID
Sets the new dialog, attached to the import button.
$0
Object$0.commit
dialogState
Sets the formatbar type
$0
Object$0.commit
newType
sets the new selected cell in the flowchart editor
$0
Object$0.commit
newCell
This actions returns a flowchart. The FlowchartForm view will pass this from the plugins/flowcharteditor to the flowchart editor plugin.
$0
Object$0.commit
$0.dispatch
name
Vue.js gets the flowchart JSON from the plugin and make the API call to the module service
$0
Object$0.dispatch
flowchart
The router used to serve the user the correct views the authentication and admin requirements are also set here per page.
The nodeEnum can be used to alter between node format bar types or just to specify a certain node type
The implicationEnum can be used to keep track of all the different implications that are avaialble on an edge