Skip to content

Commit ff40fe3

Browse files
author
Sandro Tajè
committed
added insert template
1 parent d776e4d commit ff40fe3

6 files changed

+39
-16
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

+14-6
Original file line numberDiff line numberDiff line change
@@ -48,17 +48,19 @@ <h1 class="uk-article-title">JSON Table Form</h1>
4848
<form name="form" ng-submit="save(mt.machineType)">
4949
<uk-ng-json-table-form model="vm.jsonTableModel" structure="vm.structure" can-reorder="true" submit-on-enter="true" read-only="false">
5050
<custom-template>
51-
ciao
5251
{{m[s.property]}}
5352
</custom-template>
53+
<custom-insert-template>
54+
<input type="text" ng-model="m[s.property]" class="uk-width-1-1">
55+
</custom-insert-template>
5456
</uk-ng-json-table-form>
5557
</form>
5658

5759

5860
<!-- {{vm.jsonTableModel | json}} -->
5961
</article>
6062

61-
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js"></script>
63+
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.7.0/angular.min.js"></script>
6264
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
6365
<script src="https://cdnjs.cloudflare.com/ajax/libs/uikit/2.27.2/js/uikit.min.js"></script>
6466
<script src="https://cdnjs.cloudflare.com/ajax/libs/uikit/2.27.2/js/components/autocomplete.min.js"></script>
@@ -85,6 +87,7 @@ <h1 class="uk-article-title">JSON Table Form</h1>
8587
content: "Test2"
8688
}];
8789

90+
/*
8891
vm.jsonTableModel = [{
8992
name: "ciao1",
9093
thumbnail: "200x100",
@@ -95,7 +98,7 @@ <h1 class="uk-article-title">JSON Table Form</h1>
9598
label: "Units"
9699
},
97100
priority: 1,
98-
template: "TEMPLATEEE"
101+
template: "TEMPLATEEE1"
99102
}, {
100103
name: "ciao2",
101104
keyValueObject: 1,
@@ -108,7 +111,8 @@ <h1 class="uk-article-title">JSON Table Form</h1>
108111
priority: 1,
109112
processRecipeProducts: [
110113
{ dosage: "asdas" }
111-
]
114+
],
115+
template: "TEMPLATEEE2"
112116
}, {
113117
name: "ciao3",
114118
thumbnail: "200x100",
@@ -118,7 +122,8 @@ <h1 class="uk-article-title">JSON Table Form</h1>
118122
id: 1,
119123
label: "Units"
120124
},
121-
priority: 1
125+
priority: 1,
126+
template: "TEMPLATEEE3"
122127
}];
123128
124129
vm.structure = [
@@ -209,7 +214,10 @@ <h1 class="uk-article-title">JSON Table Form</h1>
209214
}
210215
]
211216
}
212-
];
217+
];*/
218+
219+
vm.jsonTableModel = [{"id":144,"code":"edgeLimMIn","description":"-","level":1},{"id":129,"code":"poserrAsp","description":"-","level":1},{"id":134,"code":"toPosAsp","description":"-","level":1},{"id":156,"code":"warnConvColl","description":"-","level":1},{"id":128,"code":"poserrTall","description":"-","level":1},{"id":148,"code":"washerNotInCycle","description":"-","level":1},{"id":153,"code":"maxAsp1pass","description":"-","level":1},{"id":126,"code":"poserrSpess","description":"-","level":1},{"id":117,"code":"outOfLimSmu","description":"-","level":1},{"id":123,"code":"convFault","description":"-","level":1},{"id":125,"code":"spazFault","description":"-","level":1},{"id":146,"code":"aspLimMin","description":"-","level":1},{"id":145,"code":"aspLimMax","description":"-","level":1},{"id":115,"code":"outOfLimTall","description":"-","level":1},{"id":124,"code":"braConvFault","description":"-","level":1},{"id":122,"code":"pumpsFault","description":"-","level":1},{"id":127,"code":"poserrAng","description":"-","level":1},{"id":131,"code":"toPosSpess","description":"-","level":1},{"id":114,"code":"outOfLimAng","description":"Angle out of limit","level":1},{"id":142,"code":"thickLimMin","description":"-","level":1},{"id":143,"code":"edgeLimMax","description":"-","level":1},{"id":113,"code":"outOfLimSpess","description":"Thickness out of limit","level":1},{"id":149,"code":"lineGlassStopped","description":"-","level":1},{"id":154,"code":"glassConvColl","description":"-","level":1},{"id":109,"code":"oilLowLevel","description":"Low oil level","level":1},{"id":132,"code":"toPosAng","description":"-","level":1},{"id":135,"code":"toPosSpessWash","description":"-","level":1},{"id":151,"code":"dataErr","description":"-","level":1},{"id":119,"code":"airPressLow","description":"-","level":1},{"id":133,"code":"toPosTall","description":"-","level":1},{"id":121,"code":"fanConvFault","description":"-","level":1},{"id":118,"code":"thermalFault","description":"-","level":1},{"id":136,"code":"convManCycle","description":"-","level":1},{"id":141,"code":"thickLimMax","description":"-","level":1},{"id":147,"code":"glassPresAsp","description":"-","level":1},{"id":111,"code":"driveConvFault","description":"Conveyor drive fault","level":1},{"id":138,"code":"washerAlm","description":"-","level":1},{"id":140,"code":"angleLimMIn","description":"-","level":1},{"id":120,"code":"emergency","description":"-","level":1},{"id":139,"code":"angleLimMax","description":"-","level":1},{"id":137,"code":"glassLarge","description":"-","level":1},{"id":116,"code":"outOfLimAsp","description":"-","level":1},{"id":110,"code":"oilPressure","description":"Low oil pressure","level":1},{"id":130,"code":"poserrWash","description":"-","level":1},{"id":152,"code":"axisNotInPos","description":"-","level":1},{"id":112,"code":"oilConvStop","description":"Oil conveyer stop","level":1},{"id":150,"code":"dataNotCompl","description":"-","level":1},{"id":155,"code":"washtooClose","description":"-","level":1}];
220+
vm.structure = [{"label":"Code","property":"code","type":"text","required":true},{"label":"Description","property":"description","type":"template"},{"label":"Level","property":"level","type":"number","min":0,"required":true}];
213221

214222
vm.autocompOnSelect = function (item) {
215223
console.log(item);

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.0",
3+
"version": "1.4.1",
44
"description": "Angular Uikit binding",
55
"main": "./dist/angular-uikit.min.js",
66
"scripts": {

src/angular-uikit-jsontableform.html

+3-1
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@
139139
</div>
140140
</div>
141141

142-
<div ng-switch-when="template" my-ng-init="transcludeTemplate"></div>
142+
<div ng-switch-when="template" my-ng-init="transcludeTemplate" m="m" s="s"></div>
143143

144144
<!-- DEFAULT -->
145145

@@ -224,6 +224,8 @@
224224
ng-required="h.required"
225225
title="{{h.property}}">
226226

227+
<div ng-switch-when="template" my-ng-init="transcludeInsertTemplate" m="newItem" s="h"></div>
228+
227229
<!-- DEFAULT -->
228230
<input name="{{h.property}}"
229231
ng-switch-default

src/angular-uikit-jsontableform.js

+11-4
Original file line numberDiff line numberDiff line change
@@ -19,20 +19,27 @@ export default function ukNgJsonTableForm($compile, $timeout) {
1919
oddIteration: "=?"
2020
},
2121
transclude: {
22-
template: "?customTemplate"
22+
template: "?customTemplate",
23+
insertTemplate: "?customInsertTemplate"
2324
},
2425
templateUrl: function (elm, attrs) {
2526
return !attrs.compact || attrs.compact === 'false' ? templateUrl : compactTemplateUrl
2627
},
2728
link: function (scope, element, attrs, ctrl, $transcludeFn) {
2829

2930

30-
scope.transcludeTemplate = function (element) {
31-
$transcludeFn(element.scope(), function (clone) {
32-
element.append(clone);
31+
scope.transcludeTemplate = function (scp, elm) {
32+
$transcludeFn(scp, function (clone) {
33+
elm.append(clone);
3334
}, null, 'template')
3435
}
3536

37+
scope.transcludeInsertTemplate = function (scp, elm) {
38+
$transcludeFn(scp, function (clone) {
39+
elm.append(clone);
40+
}, null, 'insertTemplate')
41+
}
42+
3643
if (scope.compact) {
3744
if (scope.oddIteration == undefined)
3845
scope.oddIteration = false;

src/angular-uikit.js

+9-3
Original file line numberDiff line numberDiff line change
@@ -35,13 +35,19 @@ angular.module('angularUikit', [])
3535
}
3636
};
3737
})
38-
.directive('myNgInit', function () {
38+
.directive('myNgInit', function ($rootScope) {
3939
return {
4040
scope: {
41-
myNgInit: '&'
41+
myNgInit: '&',
42+
m: "=",
43+
s: "="
4244
},
4345
link: function (scope, element, attributes) {
44-
scope.myNgInit()(element);
46+
var scp = $rootScope.$new(true);
47+
scp.m = scope.m;
48+
scp.s = scope.s;
49+
50+
scope.myNgInit()(scp, element);
4551
}
4652
};
4753
});;

0 commit comments

Comments
 (0)