Skip to content

Commit

Permalink
data-ko-height (extresizable) now supports the min/max options from t…
Browse files Browse the repository at this point in the history
…he linked integer widget definition.
  • Loading branch information
bago committed May 21, 2022
1 parent c47c98c commit 6f823c6
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 7 deletions.
11 changes: 5 additions & 6 deletions src/js/bindings/extresizable.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,11 @@
// Simple Resizable Implementation
// binding that updates (function or observable)
ko.bindingHandlers.extresizable = {
options: {
minHeight: 2,
maxHeight: 1000,
autoHide: false
},
init: function(element, valueAccessor, allBindingsAccessor, data, bindingContext) {
var value = unwrap(valueAccessor()) || {},
options = value.options || {},
Expand All @@ -33,10 +38,6 @@
//get reference to drop method
value = "data" in value ? value.data : valueAccessor();

// TODO we probably should get this from parameters
options.minHeight = 2;
options.maxHeight = 1000;
options.autoHide = false;
// options.helper = $("<div/>");
// options.ghost = true;
options.start = function(event, ui) {
Expand Down Expand Up @@ -94,8 +95,6 @@
});

}
},
options: {
}
};

Expand Down
7 changes: 6 additions & 1 deletion src/js/converter/parser.js
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,12 @@ var processBlock = function(element, defs, themeUpdater, blockPusher, templateUr

// var bindingValue = bindingProvider(heightVar, value, false, 'wysiwyg');
var bindingValue = bindingProvider(heightVar);
var resizingBinding = "extresizable: { data: " + bindingValue + ", options: { handles: 's', resizing: $root.resizing } }, attr: { 'data-size': ko.utils.unwrapObservable(" + bindingValue + ")+'px' } ";

var resizableOptions = '';
if (typeof defs[bindingValue] !== 'undefined' && typeof defs[bindingValue]._min !== 'undefined') resizableOptions += ', minHeight: '+defs[bindingValue]._min;
if (typeof defs[bindingValue] !== 'undefined' && typeof defs[bindingValue]._max !== 'undefined') resizableOptions += ', maxHeight: '+defs[bindingValue]._max;

var resizingBinding = "extresizable: { data: " + bindingValue + ", options: { handles: 's'" + resizableOptions + ", resizing: $root.resizing } }, attr: { 'data-size': ko.utils.unwrapObservable(" + bindingValue + ")+'px' } ";

var resizingDiv = $('<div class="ui-resizing-div" data-ko-wrap="false" style="width: 100%; height: 100%"></div>')[0];
domutils.setAttribute(resizingDiv, 'data-bind', resizingBinding);
Expand Down

0 comments on commit 6f823c6

Please sign in to comment.