version = "1.0" [main] name = "Main panel" services = ["nginx"] [main.components] name = "Classic fields" [main.components.boolean] ask = "I can haz boolean?" type = "boolean" [main.components.number] ask = "I can haz number?" type = "number" min = 1 max = 100 [main.components.range] ask = "I can haz range?" type = "range" min = 0 max = 100 step = 10 [main.components.str] ask = "I can haz string?" type = "string" [main.components.text] ask = "I can haz text?" type = "text" [main.components.password] ask = "I can haz paszwurd?" type = "password" [main.components.path] ask = "I can haz path?" type = "path" [main.components.email] ask = "I can haz email?" type = "email" [main.components.url] ask = "I can haz url?" type = "url" [main.components.date] ask = "I can haz date?" type = "date" [main.components.time] ask = "I can haz time?" type = "time" [main.components.color] ask = "I can haz color?" type = "color" [main.components.select] ask = "I can haz choices?" type = "select" choices.woot = "W00t \\o\\ You can haz choicez" choices.awesome = "Awesom! =D You can put a super long description" choices.ohnoes = "Uhoh? รด.o" [main.components.domain] ask = "I can haz domain?" type = "domain" [main.components.user] ask = "I can haz user?" type = "user" [main.components.tags] ask = "I can haz several emailz?" type = "tags" placeholder = "Enter some emails separated by commas" limit = 3 pattern.regexp = '^.+@.+$' pattern.error = 'An email is required for this field' [main.components.tags2] ask = "I can chose several tagz?" type = "tags" choices = ['table', 'chair', 'bed', 'desk'] placeholder = "Add some tags" icon = "bed" [main.components.file] ask = "I can haz file?" type = "file" help = "(NB: this won't actually be uploaded anywhere unless 'bind' is defined in the question)" [main.messages] name = "Messages / Read-only components" [main.messages.success] ask = "I can haz success!" type = "alert" style = "success" icon = "beer" [main.messages.info] ask = "I can haz info" type = "alert" style = "info" [main.messages.warning] ask = "Onoez i haz a warnin'" type = "alert" style = "warning" [main.messages.danger] ask = "Onoez i haz a Danger!!" type = "alert" style = "danger" [main.messages.display_text] ask = "I haz a simple text" type = "display_text" [main.messages.markdown] ask = "I haz some **awesome** *markdown* text!!" type = "markdown" [main.generic] name = "Specific question options demo" [main.generic.pattern] ask = "I can haz pattern validation!" type = "string" pattern.regexp = '^[A-F]\d\d$' pattern.error = "Provide a room like F12 : one uppercase and 2 numbers" [main.generic.example] ask = "I can haz example value" type = "string" example = "Camille" [main.generic.required] ask = "I can haz required field" type = "string" optional = false [main.generic.helptext] ask = "I can haz some help tips" type = "string" help = "Im in ur help text helpin' yar userz" [main.generic.triggervisible] ask = "I can trigger visibility for other questionz or sectionz!!" type = "select" choices.nothing = "Not triggering any invisible question/section" choices.nextquestion = "Display next question" choices.nextsection = "Display next section" [main.generic.visible_question] ask = "This question is only displayed if previous question is set to 'Display next question'" type = "string" visible = "triggervisible == 'nextquestion'" [main.ifsection] name = "This section is only displayed if the previous question is set to 'Display next section'" visible = "triggervisible == 'nextsection'" [main.ifsection.sub] ask = "I can haz cheezburgers?" type = "string" [bind] name = "Bind panel" [bind.settings] name = "Bind to settings" [bind.settings.arg1] ask = "Save app settings arg1" type = "string" [bind.variable] name = "Bind to key/value in files" [bind.variable.arg2] ask = "I can haz value for arg2 in test.yml ?" type = "string" bind = ":__FINALPATH__/test.yml" [bind.variable.arg3] ask = "I can haz value for arg3 in test.json ?" type = "string" bind = ":__FINALPATH__/test.json" [bind.variable.arg4] ask = "I can haz value for arg4 in test.ini ?" type = "string" bind = ":__FINALPATH__/test.ini" [bind.variable.arg5] ask = "I can haz value for arg5 in test.php ?" type = "string" bind = ":__FINALPATH__/test.php" [bind.variable.arg6] ask = "I can haz value for arg6 in test.py ?" type = "string" bind = ":__FINALPATH__/test.py" [bind.file] name = "Bind to an entire file" [bind.file.arg7] ask = "I can haz a .cube ?" type = "file" accept = ".cube" bind = "__FINALPATH__/test.cube" [bind.file.arg7b] ask = "Emeged i can edit sum file!#1!" type = "text" bind = "__FINALPATH__/nginx.conf" [bind.function] name = "Bind to custom bash getters / validators / setters" [bind.function.arg8] ask = "I can haz a password ?" help = "N.B. : This is mapped to a custom validate__/set__arg8 function in the config script" type = "password" bind = "null" [bind.function.arg9] ask = "Custom getter arg9" help = "N.B.: This is mapped to a custom get__arg9 function in the config script" type = "markdown" bind = "null" [bind.function.alert] ask = "Custom getter alert" help = "N.B.: This is mapped to a custom get__alert function in the config script" type = "alert" style = "info" bind = "null"