Commit d6b420e1 authored by Joshua Gould's avatar Joshua Gould

scroll lens

parent b2792ab4
This source diff could not be displayed because it is too large. You can view the blob instead.
morpheus.FormBuilder = function(options) {
morpheus.FormBuilder = function (options) {
var that = this;
this.prefix = _.uniqueId('form');
this.$form = $('<form></form>');
......@@ -12,39 +12,39 @@ morpheus.FormBuilder = function(options) {
this.labelClass = 'control-label';
this.titleClass = 'control-label';
}
this.$form.on('submit', function(e) {
this.$form.on('submit', function (e) {
e.preventDefault();
});
this.$form.on(
'dragover',
function(e) {
var node = $(e.originalEvent.srcElement).parent().parent()
.prev();
if (node.is('select') && node.hasClass('file-input')) {
$(e.originalEvent.srcElement).parent().css('border',
'1px solid black');
e.preventDefault();
e.stopPropagation();
}
}).on(
'dragenter',
function(e) {
var node = $(e.originalEvent.srcElement).parent().parent()
.prev();
if (node.is('select') && node.hasClass('file-input')) {
$(e.originalEvent.srcElement).parent().css('border',
'1px solid black');
e.preventDefault();
e.stopPropagation();
}
}).on('dragleave', function(e) {
'dragover',
function (e) {
var node = $(e.originalEvent.srcElement).parent().parent()
.prev();
if (node.is('select') && node.hasClass('file-input')) {
$(e.originalEvent.srcElement).parent().css('border',
'1px solid black');
e.preventDefault();
e.stopPropagation();
}
}).on(
'dragenter',
function (e) {
var node = $(e.originalEvent.srcElement).parent().parent()
.prev();
if (node.is('select') && node.hasClass('file-input')) {
$(e.originalEvent.srcElement).parent().css('border',
'1px solid black');
e.preventDefault();
e.stopPropagation();
}
}).on('dragleave', function (e) {
var node = $(e.originalEvent.srcElement).parent().parent().prev();
if (node.is('select') && node.hasClass('file-input')) {
$(e.originalEvent.srcElement).parent().css('border', '');
e.preventDefault();
e.stopPropagation();
}
}).on('drop', function(e) {
}).on('drop', function (e) {
var node = $(e.originalEvent.srcElement).parent().parent().prev();
if (node.is('select') && node.hasClass('file-input')) {
var isMultiple = node.data('multiple');
......@@ -58,17 +58,17 @@ morpheus.FormBuilder = function(options) {
var files = e.originalEvent.dataTransfer.files;
that.setValue(name, isMultiple ? files : files[0]);
that.trigger('change', {
name : name,
value : files[0]
name: name,
value: files[0]
});
} else {
var url = e.originalEvent.dataTransfer.getData('URL');
e.preventDefault();
e.stopPropagation();
that.setValue(name, url);
that.setValue(name, isMultiple ? [url] : url);
that.trigger('change', {
name : name,
value : url
name: name,
value: url
});
}
}
......@@ -78,17 +78,17 @@ morpheus.FormBuilder = function(options) {
// this.fieldColumnDef = '8';
};
morpheus.FormBuilder.showProgressBar = function(options) {
morpheus.FormBuilder.showProgressBar = function (options) {
var content = [];
content.push('<div class="container-fluid">');
content.push('<div class="row">');
content.push('<div class="col-xs-8">');
content
.push('<div class="progress progress-striped active"><div class="progress-bar" role="progressbar" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100" style="width: 100%"></div></div>');
.push('<div class="progress progress-striped active"><div class="progress-bar" role="progressbar" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100" style="width: 100%"></div></div>');
content.push('</div>'); // col
content.push('<div class="col-xs-2">');
content
.push('<input class="btn btn-default" type="button" name="stop" value="Cancel">');
.push('<input class="btn btn-default" type="button" name="stop" value="Cancel">');
content.push('</div>'); // col
content.push('</div>'); // row
if (options.subtitle) {
......@@ -100,32 +100,32 @@ morpheus.FormBuilder.showProgressBar = function(options) {
}
content.push('</div>');
var $content = $(content.join(''));
$content.find('[name=stop]').on('click', function(e) {
$content.find('[name=stop]').on('click', function (e) {
options.stop();
e.preventDefault();
});
return morpheus.FormBuilder.showInDraggableDiv({
title : options.title,
$content : $content
title: options.title,
$content: $content
});
};
morpheus.FormBuilder.showInDraggableDiv = function(options) {
morpheus.FormBuilder.showInDraggableDiv = function (options) {
var width = options.width || '300px';
var html = [];
html
.push('<div style="top: 100px; position:absolute; padding-left:10px; padding-right:10px; width:'
+ width
+ ' ; background:white; box-shadow: 0 5px 15px rgba(0,0,0,0.5); border: 1px solid rgba(0,0,0,0.2); border-radius: 6px;">');
.push('<div style="top: 100px; position:absolute; padding-left:10px; padding-right:10px; width:'
+ width
+ ' ; background:white; box-shadow: 0 5px 15px rgba(0,0,0,0.5); border: 1px solid rgba(0,0,0,0.2); border-radius: 6px;">');
html
.push('<h4 style="cursor:move; border-bottom: 1px solid #e5e5e5;" name="header">'
+ options.title + '</h4>');
.push('<h4 style="cursor:move; border-bottom: 1px solid #e5e5e5;" name="header">'
+ options.title + '</h4>');
html.push('<div name="content"></div>');
html.push('</div>');
var $div = $(html.join(''));
var $content = $div.find('[name=content]');
$div.find('[name=header]').on('dblclick', function() {
$div.find('[name=header]').on('dblclick', function () {
if ($content.css('display') === 'none') {
$content.css('display', '');
} else {
......@@ -136,25 +136,25 @@ morpheus.FormBuilder.showInDraggableDiv = function(options) {
options.$content.appendTo($content);
$div.css('left', ($(window).width() / 2) - $content.outerWidth() / 2);
$div.draggable({
handle : '[name=header]',
containment : 'document'
handle: '[name=header]',
containment: 'document'
});
// $div.resizable();
$div.appendTo($(document.body));
return $div;
};
morpheus.FormBuilder.promptForDataset = function(cb) {
morpheus.FormBuilder.promptForDataset = function (cb) {
var formBuilder = new morpheus.FormBuilder();
formBuilder.append({
name : 'file',
value : '',
type : 'file',
required : true,
help : morpheus.DatasetUtil.DATASET_FILE_FORMATS
name: 'file',
value: '',
type: 'file',
required: true,
help: morpheus.DatasetUtil.DATASET_FILE_FORMATS
});
var $modal;
formBuilder.on('change', function(e) {
formBuilder.on('change', function (e) {
var value = e.value;
if (value !== '' && value != null) {
$modal.modal('hide');
......@@ -163,25 +163,25 @@ morpheus.FormBuilder.promptForDataset = function(cb) {
}
});
$modal = morpheus.FormBuilder.showInModal({
title : 'Dataset',
html : formBuilder.$form,
close : false
title: 'Dataset',
html: formBuilder.$form,
close: false
});
};
morpheus.FormBuilder.showInModal = function(options) {
morpheus.FormBuilder.showInModal = function (options) {
var $div = morpheus.FormBuilder
._showInModal({
z : options.z,
title : options.title,
html : options.html,
footer : options.close ? ('<button type="button" class="btn btn-default" data-dismiss="modal">'
+ options.close + '</button>')
: null,
onClose : options.callback,
backdrop : options.backdrop,
size : options.size
});
._showInModal({
z: options.z,
title: options.title,
html: options.html,
footer: options.close ? ('<button type="button" class="btn btn-default" data-dismiss="modal">'
+ options.close + '</button>')
: null,
onClose: options.callback,
backdrop: options.backdrop,
size: options.size
});
return $div;
// if (options.draggable) {
// $div.draggable({
......@@ -190,34 +190,34 @@ morpheus.FormBuilder.showInModal = function(options) {
// }
};
morpheus.FormBuilder.showOkCancel = function(options) {
morpheus.FormBuilder.showOkCancel = function (options) {
options = $.extend({}, {
ok : true
ok: true
}, options);
var footer = [];
if (options.ok) {
footer
.push('<button name="ok" type="button" class="btn btn-default">OK</button>');
.push('<button name="ok" type="button" class="btn btn-default">OK</button>');
}
if (options.apply) {
footer
.push('<button name="apply" type="button" class="btn btn-default">Apply</button>');
.push('<button name="apply" type="button" class="btn btn-default">Apply</button>');
}
footer
.push('<button name="cancel" type="button" data-dismiss="modal" class="btn btn-default">Cancel</button>');
.push('<button name="cancel" type="button" data-dismiss="modal" class="btn btn-default">Cancel</button>');
var $div = morpheus.FormBuilder._showInModal({
title : options.title,
html : options.content,
footer : footer.join(''),
onClose : options.hiddenCallback,
size : options.size
title: options.title,
html: options.content,
footer: footer.join(''),
onClose: options.hiddenCallback,
size: options.size
});
// if (options.align === 'right') {
// $div.css('left', $(window).width()
// - $div.find('.modal-content').width() - 60);
// }
var $ok = $div.find('[name=ok]');
$ok.on('click', function(e) {
$ok.on('click', function (e) {
options.okCallback();
$div.modal('hide');
});
......@@ -227,8 +227,8 @@ morpheus.FormBuilder.showOkCancel = function(options) {
if (options.draggable) {
$div.draggable({
handle : '.modal-header',
containment : 'document'
handle: '.modal-header',
containment: 'document'
});
}
// $div.on('click', '[name=apply]', function(e) {
......@@ -237,7 +237,7 @@ morpheus.FormBuilder.showOkCancel = function(options) {
return $div;
};
morpheus.FormBuilder.hasChanged = function(object, keyToUIElement) {
morpheus.FormBuilder.hasChanged = function (object, keyToUIElement) {
var keys = _.keys(keyToUIElement);
for (var i = 0; i < keys.length; i++) {
var key = keys[i];
......@@ -249,7 +249,7 @@ morpheus.FormBuilder.hasChanged = function(object, keyToUIElement) {
}
return false;
};
morpheus.FormBuilder.getValue = function($element) {
morpheus.FormBuilder.getValue = function ($element) {
var list = $element.data('morpheus.checkbox-list');
if (list != null) {
return list.val();
......@@ -261,14 +261,14 @@ morpheus.FormBuilder.getValue = function($element) {
return $element.data('files');
}
return $element.attr('type') === 'checkbox' ? $element.prop('checked') ? true
: false
: $element.val();
: false
: $element.val();
};
morpheus.FormBuilder._showInModal = function(options) {
morpheus.FormBuilder._showInModal = function (options) {
var html = [];
options = $.extend({}, {
size : ''
size: ''
}, options);
html.push('<div class="modal" role="dialog" aria-hidden="false"');
if (options.z) {
......@@ -279,7 +279,7 @@ morpheus.FormBuilder._showInModal = function(options) {
html.push('<div class="modal-content">');
html.push(' <div class="modal-header">');
html
.push(' <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>');
.push(' <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>');
if (options.title != null) {
html.push('<h4 class="modal-title">' + options.title + '</h4>');
}
......@@ -295,14 +295,14 @@ morpheus.FormBuilder._showInModal = function(options) {
html.push('</div>');
html.push('</div>');
var $div = $(html.join(''));
$div.on('mousewheel', function(e) {
$div.on('mousewheel', function (e) {
e.stopPropagation();
});
$div.find('.modal-body').html(options.html);
$div.prependTo($(document.body));
$div.modal({
backdrop : options.backdrop === true ? true : false,
}).on('hidden.bs.modal', function(e) {
backdrop: options.backdrop === true ? true : false,
}).on('hidden.bs.modal', function (e) {
$div.remove();
if (options.onClose) {
options.onClose();
......@@ -332,10 +332,10 @@ morpheus.FormBuilder._showInModal = function(options) {
// return id;
// };
morpheus.FormBuilder.prototype = {
appendContent : function($content) {
appendContent: function ($content) {
this.$form.append($content);
},
addSeparator : function() {
addSeparator: function () {
var html = [];
html.push('<div class="form-group">');
if (!this.vertical) {
......@@ -348,14 +348,14 @@ morpheus.FormBuilder.prototype = {
html.push('</div>');
this.$form.append(html.join(''));
},
_append : function(html, field, isFieldStart) {
_append: function (html, field, isFieldStart) {
var that = this;
var required = field.required;
var name = field.name;
var type = field.type;
if (type == 'separator') {
html.push(this.vertical ? '<div class="form-group"></div>'
: '<div class="col-xs-12">');
: '<div class="col-xs-12">');
html.push('<hr />');
html.push('</div>');
return;
......@@ -372,7 +372,7 @@ morpheus.FormBuilder.prototype = {
}
if (showLabel === undefined) {
showLabel = 'checkbox' !== type && 'button' !== type
&& 'radio' !== type;
&& 'radio' !== type;
showLabel = showLabel || field.options !== undefined;
}
var id = that.prefix + '_' + name;
......@@ -382,7 +382,7 @@ morpheus.FormBuilder.prototype = {
}
if (showLabel) {
html.push('<label for="' + id + '" class="' + this.labelClass
+ '">');
+ '">');
html.push(title);
html.push('</label>');
if (isFieldStart) {
......@@ -394,35 +394,35 @@ morpheus.FormBuilder.prototype = {
if ('radio' === type) {
if (field.options) {
_.each(field.options,
function(choice) {
var isChoiceObject = _.isObject(choice)
&& choice.value !== undefined;
var optionValue = isChoiceObject ? choice.value
: choice;
var optionText = isChoiceObject ? choice.name
: choice;
var selected = value === optionValue;
html.push('<div class="radio"><label>');
html.push('<input value="' + optionValue
+ '" name="' + field.name
+ '" type="radio"');
if (selected) {
html.push(' checked');
}
html.push('> ');
if (choice.icon) {
html.push('<span class="' + choice.icon
+ '"></span> ');
}
optionText = optionText[0].toUpperCase()
+ optionText.substring(1);
html.push(optionText);
html.push('</label></div>');
});
function (choice) {
var isChoiceObject = _.isObject(choice)
&& choice.value !== undefined;
var optionValue = isChoiceObject ? choice.value
: choice;
var optionText = isChoiceObject ? choice.name
: choice;
var selected = value === optionValue;
html.push('<div class="radio"><label>');
html.push('<input value="' + optionValue
+ '" name="' + field.name
+ '" type="radio"');
if (selected) {
html.push(' checked');
}
html.push('> ');
if (choice.icon) {
html.push('<span class="' + choice.icon
+ '"></span> ');
}
optionText = optionText[0].toUpperCase()
+ optionText.substring(1);
html.push(optionText);
html.push('</label></div>');
});
} else {
html.push('<div class="radio"><label>');
html.push('<input value="' + value + '" name="' + name
+ '" id="' + id + '" type="radio"');
+ '" id="' + id + '" type="radio"');
if (field.checked) {
html.push(' checked');
}
......@@ -433,7 +433,7 @@ morpheus.FormBuilder.prototype = {
} else if ('checkbox' === type) {
html.push('<div class="checkbox"><label>');
html.push('<input name="' + name + '" id="' + id
+ '" type="checkbox"');
+ '" type="checkbox"');
if (value) {
html.push(' checked');
}
......@@ -449,11 +449,11 @@ morpheus.FormBuilder.prototype = {
// }
if (type == 'bootstrap-select') {
html.push('<select data-selected-text-format="count" name="'
+ name + '" id="' + id
+ '" class="selectpicker form-control"');
+ name + '" id="' + id
+ '" class="selectpicker form-control"');
} else {
html.push('<select name="' + name + '" id="' + id
+ '" class="form-control"');
+ '" class="form-control"');
}
if (disabled) {
html.push(' disabled');
......@@ -462,13 +462,13 @@ morpheus.FormBuilder.prototype = {
html.push(' multiple');
}
html.push('>');
_.each(field.options, function(choice) {
_.each(field.options, function (choice) {
if (choice && choice.divider) {
html.push('<option data-divider="true"></option>');
} else {
html.push('<option value="');
var isChoiceObject = _.isObject(choice)
&& choice.value !== undefined;
&& choice.value !== undefined;
var optionValue = isChoiceObject ? choice.value : choice;
var optionText = isChoiceObject ? choice.name : choice;
html.push(optionValue);
......@@ -490,31 +490,31 @@ morpheus.FormBuilder.prototype = {
html.push('</select>');
if (field.type == 'bootstrap-select' && field.toggle) {
html.push('<p class="help-block"><a name="' + name
+ '_all" href="#">All</a>&nbsp;|&nbsp;<a name="' + name
+ '_none" href="#">None</a></p>');
+ '_all" href="#">All</a>&nbsp;|&nbsp;<a name="' + name
+ '_none" href="#">None</a></p>');
that.$form.on('click', '[name=' + name + '_all]',
function(evt) {
evt.preventDefault();
var $select = that.$form
.find('[name=' + name + ']');
$select.selectpicker('val', $.map($select
.find('option'), function(o) {
return $(o).val();
}));
$select.trigger('change');
});
function (evt) {
evt.preventDefault();
var $select = that.$form
.find('[name=' + name + ']');
$select.selectpicker('val', $.map($select
.find('option'), function (o) {
return $(o).val();
}));
$select.trigger('change');
});
that.$form.on('click', '[name=' + name + '_none]',
function(evt) {
evt.preventDefault();
var $select = that.$form
.find('[name=' + name + ']');
$select.selectpicker('val', []);
$select.trigger('change');
});
function (evt) {
evt.preventDefault();
var $select = that.$form
.find('[name=' + name + ']');
$select.selectpicker('val', []);
$select.trigger('change');
});
}
} else if ('textarea' == type) {
html.push('<textarea id="' + id + '" class="form-control" name="'
+ name + '"');
+ name + '"');
if (required) {
html.push(' required');
}
......@@ -531,7 +531,7 @@ morpheus.FormBuilder.prototype = {
html.push('</textarea>');
} else if ('button' == type) {
html.push('<button id="' + id + '" name="' + name
+ '" type="button" class="btn btn-default btn-sm">');
+ '" type="button" class="btn btn-default btn-sm">');
if (field.icon) {
html.push('<span class="' + field.icon + '"></span> ');
}
......@@ -542,14 +542,14 @@ morpheus.FormBuilder.prototype = {
} else if ('file' === type) {
var isMultiple = field.multiple;
html
.push('<select data-multiple="'
+ isMultiple
+ '" type="file" title="'
+ (field.placeholder || (isMultiple ? 'Choose one or more files...'
: 'Choose a file...'))
+ '" name="'
+ name
+ '_picker" data-width="35%" class="file-input selectpicker form-control">');
.push('<select data-multiple="'
+ isMultiple
+ '" type="file" title="'
+ (field.placeholder || (isMultiple ? 'Choose one or more files...'
: 'Choose a file...'))
+ '" name="'
+ name
+ '_picker" data-width="35%" class="file-input selectpicker form-control">');
var npre = 1;
var options = [];
......@@ -563,9 +563,9 @@ morpheus.FormBuilder.prototype = {
if (typeof Dropbox !== 'undefined') {
options.push('Dropbox');
}
_.each(options, function(choice, index) {
_.each(options, function (choice, index) {
var isChoiceObject = _.isObject(choice)
&& choice.value !== undefined;
&& choice.value !== undefined;
var optionValue = isChoiceObject ? choice.value : choice;
var optionText = isChoiceObject ? choice.name : choice;
html.push('<option value="');
......@@ -591,70 +591,75 @@ morpheus.FormBuilder.prototype = {
if (field.url !== false) {
html.push('<div>');
html
.push('<input placeholder="'
+ (isMultiple ? 'Enter one or more URLs'
: 'Enter a URL')
+ '" class="form-control" style="width:50%; display:none;" type="text" name="'
+ name + '_text">');
.push('<input placeholder="'
+ (isMultiple ? 'Enter one or more URLs'
: 'Enter a URL')
+ '" class="form-control" style="width:50%; display:none;" type="text" name="'
+ name + '_text">');
html.push('</div>');
}
html.push('<input style="display:none;" type="file" name="' + name
+ '_file"' + (isMultiple ? ' multiple' : '') + '>');
+ '_file"' + (isMultiple ? ' multiple' : '') + '>');
// browse button clicked
// select change
that.$form
.on(
'change',
'[name=' + name + '_picker]',
function(evt) {
var $this = $(this);
var val = $this.val();
.on(
'change',
'[name=' + name + '_picker]',
function (evt) {
var $this = $(this);
var val = $this.val();
var showTextInput = val === 'URL';
if ('Dropbox' === val) {
var options = {
success : function(results) {
var val = !isMultiple ? results[0].link
: results.map(function(
result) {
return result.link;
});
that.setValue(name, val);
that.trigger('change', {
name : name,
value : val
});
},
linkType : 'direct',
multiselect : isMultiple
};
Dropbox.choose(options);
} else if ('My Computer' === val) {
that.$form.find('[name=' + name + '_file]')
.click();
}
that.$form.find('[name=' + name + '_text]')
.css('display',
showTextInput ? '' : 'none');
});
var showTextInput = val === 'URL';
if ('Dropbox' === val) {
var options = {
success: function (results) {
var val = !isMultiple ? results[0].link
: results.map(function (result) {
return result.link;
});
that.setValue(name, val);
that.trigger('change', {
name: name,
value: val
});
},
linkType: 'direct',
multiselect: isMultiple
};
Dropbox.choose(options);
} else if ('My Computer' === val) {
that.$form.find('[name=' + name + '_file]')
.click();
}
that.$form.find('[name=' + name + '_text]')
.css('display',
showTextInput ? '' : 'none');
});
// URL
that.$form.on('keyup', '[name=' + name + '_text]', function(evt) {
that.$form.on('keyup', '[name=' + name + '_text]', function (evt) {
var text = $.trim($(this).val());
if (isMultiple) {
text = text.split(',').filter(function (t) {
t = $.trim(t);
return t !== '';
});
}
that.setValue(name, text);
if (evt.which === 13) {
that.trigger('change', {
name : name,
value : text
name: name,
value: text
});
}
});
// browse file selected
that.$form.on('change', '[name=' + name + '_file]', function(evt) {
that.$form.on('change', '[name=' + name + '_file]', function (evt) {
var files = evt.target.files; // FileList object
that.setValue(name, isMultiple ? files : files[0]);
that.trigger('change', {
name : name,
value : files[0]
name: name,
value: files[0]
});
});
} else {
......@@ -663,8 +668,8 @@ morpheus.FormBuilder.prototype = {
html.push('<div name="' + name + '" id="' + id + '"');
} else {
html.push('<input type="' + type
+ '" class="form-control" name="' + name + '" id="'
+ id + '"');
+ '" class="form-control" name="' + name + '" id="'
+ id + '"');
}
if (value != null) {
html.push(' value="' + value + '"');
......@@ -689,15 +694,15 @@ morpheus.FormBuilder.prototype = {
html.push('</span>');
}
},
append : function(fields) {
append: function (fields) {
var html = [];
var that = this;
var isArray = morpheus.Util.isArray(fields);
if (!isArray) {
fields = [ fields ];
fields = [fields];
}
html.push('<div class="form-group">');
_.each(fields, function(field, index) {
_.each(fields, function (field, index) {
that._append(html, field, index === 0);
});
html.push('</div>');
......@@ -707,38 +712,38 @@ morpheus.FormBuilder.prototype = {
var checkBoxLists = $div.find('.checkbox-list');
if (checkBoxLists.length > 0) {
var checkBoxIndex = 0;
_.each(fields, function(field) {
_.each(fields, function (field) {
// needs to already be in dom
if (field.type === 'checkbox-list') {
var list = new morpheus.CheckBoxList({
responsive : false,
$el : $(checkBoxLists[checkBoxIndex]),
items : field.options
responsive: false,
$el: $(checkBoxLists[checkBoxIndex]),
items: field.options
});
$(checkBoxLists[checkBoxIndex]).data(
'morpheus.checkbox-list', list);
'morpheus.checkbox-list', list);
checkBoxIndex++;
}
});
}
$div.find('.selectpicker').selectpicker({
iconBase : 'fa',
tickIcon : 'fa-check',
style : 'btn-default btn-sm'
iconBase: 'fa',
tickIcon: 'fa-check',
style: 'btn-default btn-sm'
});
},
clear : function() {
clear: function () {
this.$form.empty();
},
getValue : function(name) {
getValue: function (name) {
var $v = this.$form.find('[name=' + name + ']');
if ($v.length === 0) {
$v = this.$form.find('[name=' + name + '_picker]');
}
return morpheus.FormBuilder.getValue($v);
},
setOptions : function(name, options, selectFirst) {
setOptions: function (name, options, selectFirst) {
var $select = this.$form.find('[name=' + name + ']');
var checkBoxList = $select.data('morpheus.checkbox-list');
if (checkBoxList) {
......@@ -746,10 +751,10 @@ morpheus.FormBuilder.prototype = {
} else {
var html = [];
var selection = $select.val();
_.each(options, function(choice) {
_.each(options, function (choice) {
html.push('<option value="');
var isChoiceObject = _.isObject(choice)
&& choice.value !== undefined;
&& choice.value !== undefined;
var optionValue = isChoiceObject ? choice.value : choice;
var optionText = isChoiceObject ? choice.name : choice;
html.push(optionValue);
......@@ -773,14 +778,14 @@ morpheus.FormBuilder.prototype = {
}
}
},
find : function(name) {
find: function (name) {
return this.$form.find('[name=' + name + ']');
},
setHelpText : function(name, value) {
setHelpText: function (name, value) {
var v = this.$form.find('[name=' + name + '_help]');
v.html(value);
},
setValue : function(name, value) {
setValue: function (name, value) {
var v = this.$form.find('[name=' + name + ']');
if (v.length === 0) {
v = this.$form.find('[name=' + name + '_picker]');
......@@ -808,21 +813,21 @@ morpheus.FormBuilder.prototype = {
}
},
setVisible : function(name, visible) {
setVisible: function (name, visible) {
var $div = this.$form.find('[name=' + name + ']')
.parents('.form-group');
.parents('.form-group');
if (visible) {
$div.show();
} else {
$div.hide();
}
},
remove : function(name) {
remove: function (name) {
var $div = this.$form.find('[name=' + name + ']')
.parents('.form-group');
.parents('.form-group');
$div.remove();
},
setEnabled : function(name, enabled) {
setEnabled: function (name, enabled) {
var $div = this.$form.find('[name=' + name + ']');
$div.attr('disabled', !enabled);
if (!enabled) {
......@@ -832,4 +837,4 @@ morpheus.FormBuilder.prototype = {
}
}
};
morpheus.Util.extend(morpheus.FormBuilder, morpheus.Events);
\ No newline at end of file
morpheus.Util.extend(morpheus.FormBuilder, morpheus.Events);
......@@ -2177,6 +2177,7 @@ morpheus.HeatMap.prototype = {
canvas.height = heatMapHeight * morpheus.CanvasUtil.BACKING_SCALE;
canvas.style.height = heatMapHeight + 'px';
var context = canvas.getContext('2d');
morpheus.CanvasUtil.resetTransform(context);
context.save();
context.translate(-this.heatmap.lastClip.x, -startPix);
context.rect(this.heatmap.lastClip.x, startPix, this.heatmap.lastClip.width, this.heatmap.lastClip.height);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment