Skip to content

Commit 5fa8dca

Browse files
author
Manuel Larsen
committed
Fixed default injection when swapping rows
1 parent 49e0399 commit 5fa8dca

File tree

4 files changed

+21
-15
lines changed

4 files changed

+21
-15
lines changed

dist/angular-uikit.min.js

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/index.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,7 @@ <h1 class="uk-article-title">JSON Table Form</h1>
238238
"property": "dosage",
239239
"type": "text",
240240
"default": function(parent, newItem){
241-
return parent&&parent.autocomplete?parent.autocomplete.value:null;
241+
return parent&&parent.name?parent.name:null;
242242
}
243243
}
244244
]

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "angular-uikit",
3-
"version": "1.4.4",
3+
"version": "1.4.5",
44
"description": "Angular Uikit binding",
55
"main": "./dist/angular-uikit.min.js",
66
"scripts": {

src/angular-uikit-jsontableform.js

+18-12
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ export default function ukNgJsonTableForm($compile, $timeout) {
2929
},
3030
link: function (scope, element, attrs, ctrl, $transcludeFn) {
3131

32-
3332
scope.transcludeTemplate = function (scp, elm) {
3433
$transcludeFn(scp, function (clone) {
3534
elm.append(clone);
@@ -67,23 +66,29 @@ export default function ukNgJsonTableForm($compile, $timeout) {
6766
scope.newItem = {};
6867
};
6968

70-
scope.$watch('newItem', function () {
71-
for (let h of scope.structure) {
72-
if (h.type === "ratio") {
73-
scope.injectDefault(h.first);
74-
scope.injectDefault(h.second);
75-
} else {
76-
scope.injectDefault(h)
77-
}
78-
}
69+
scope.$watch('parent', function () {
70+
scope.injectDefaults(true)
7971
}, true);
8072

73+
scope.$watch('newItem', function () {
74+
scope.injectDefaults(false)
75+
}, true);
8176

82-
scope.injectDefault = function (h) {
83-
if (h.default && scope.newItem && !scope.newItem[h.property]) {
77+
scope.injectDefault = function (h, force) {
78+
if (h.default && scope.newItem && (!scope.newItem[h.property] || force)) {
8479
scope.newItem[h.property] = typeof h.default === "function" ? h.default(scope.parent, scope.newItem) : h.default;
8580
}
81+
};
8682

83+
scope.injectDefaults = function (force) {
84+
for (let h of scope.structure) {
85+
if (h.type === "ratio") {
86+
scope.injectDefault(h.first, force);
87+
scope.injectDefault(h.second, force);
88+
} else {
89+
scope.injectDefault(h, force)
90+
}
91+
}
8792
};
8893

8994
scope.removeItem = function removeItem(index) {
@@ -158,6 +163,7 @@ export default function ukNgJsonTableForm($compile, $timeout) {
158163
array[to] = array[from];
159164
array[from] = temp;
160165
}
166+
161167
}
162168
};
163169
}

0 commit comments

Comments
 (0)