script#templated-input-template(type="text/x-template") .pure-control-group(class="tmpl-input-{{name}}", :title="title") label(:for="name") {{name}} select(v-if="template.type == 'enum' || template.values", v-model="view", :name="name", @change="change") option(v-for="opt in template.values", track-by="$index", :value="opt" :disabled="opt === '-----' ? true : false") {{opt}} input(v-if="template.type == 'bool'", type="checkbox", v-model="view", :name="name", @change="change") input(v-if="template.type == 'float'", v-model.number="view", number, :min="template.min", :max="template.max", :step="template.step || 'any'", type="number", :name="name", @keyup="change") input(v-if="template.type == 'int' && !template.values", number, v-model.number="view", :min="template.min", :max="template.max", type="number", :name="name", @keyup="change") input(v-if="template.type == 'string'", v-model="view", type="text", :name="name", @keyup="change") textarea(v-if="template.type == 'text'", v-model="view", :name="name", @keyup="change") label.units {{units}} slot(name="extra")