Skip to content
This repository was archived by the owner on Aug 20, 2019. It is now read-only.

Commit ac98e71

Browse files
Fixes #88 by doing a version check and only deleting the last time if version < 7.8
1 parent 3253f28 commit ac98e71

File tree

2 files changed

+70
-3
lines changed

2 files changed

+70
-3
lines changed

src/Our.Umbraco.DocTypeGridEditor/Web/UI/App_Plugins/DocTypeGridEditor/Js/doctypegrideditor.controllers.js

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -184,8 +184,9 @@ angular.module("umbraco").controller("Our.Umbraco.DocTypeGridEditor.Dialogs.DocT
184184
"formHelper",
185185
"contentResource",
186186
"Our.Umbraco.DocTypeGridEditor.Resources.DocTypeGridEditorResources",
187+
"Our.Umbraco.DocTypeGridEditor.Services.DocTypeGridEditorUtilityService",
187188

188-
function ($scope, $interpolate, formHelper, contentResource, dtgeResources) {
189+
function ($scope, $interpolate, formHelper, contentResource, dtgeResources, dtgeUtilityService) {
189190

190191
$scope.docTypes = [];
191192
$scope.dialogMode = "selectDocType";
@@ -206,8 +207,11 @@ angular.module("umbraco").controller("Our.Umbraco.DocTypeGridEditor.Dialogs.DocT
206207

207208
function loadNode() {
208209
contentResource.getScaffold(-20, $scope.model.dialogData.docTypeAlias).then(function (data) {
209-
// Remove the last tab
210-
data.tabs.pop();
210+
211+
if (dtgeUtilityService.compareCurrentUmbracoVersion("7.8", { zeroExtend: true }) < 0) {
212+
// Remove the last tab
213+
data.tabs.pop();
214+
}
211215

212216
// Merge current value
213217
if ($scope.model.dialogData.value) {
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
angular.module('umbraco.services').factory('Our.Umbraco.DocTypeGridEditor.Services.DocTypeGridEditorUtilityService', function () {
2+
3+
function compareCurrentUmbracoVersion(v, options) {
4+
return this.compareVersions(Umbraco.Sys.ServerVariables.application.version, v, options);
5+
}
6+
7+
function compareVersions(v1, v2, options) {
8+
9+
var lexicographical = options && options.lexicographical,
10+
zeroExtend = options && options.zeroExtend,
11+
v1parts = v1.split('.'),
12+
v2parts = v2.split('.');
13+
14+
function isValidPart(x) {
15+
return (lexicographical ? /^\d+[A-Za-z]*$/ : /^\d+$/).test(x);
16+
}
17+
18+
if (!v1parts.every(isValidPart) || !v2parts.every(isValidPart)) {
19+
return NaN;
20+
}
21+
22+
if (zeroExtend) {
23+
while (v1parts.length < v2parts.length) {
24+
v1parts.push("0");
25+
}
26+
while (v2parts.length < v1parts.length) {
27+
v2parts.push("0");
28+
}
29+
}
30+
31+
if (!lexicographical) {
32+
v1parts = v1parts.map(Number);
33+
v2parts = v2parts.map(Number);
34+
}
35+
36+
for (var i = 0; i < v1parts.length; ++i) {
37+
if (v2parts.length === i) {
38+
return 1;
39+
}
40+
41+
if (v1parts[i] === v2parts[i]) {
42+
continue;
43+
} else if (v1parts[i] > v2parts[i]) {
44+
return 1;
45+
} else {
46+
return -1;
47+
}
48+
}
49+
50+
if (v1parts.length !== v2parts.length) {
51+
return -1;
52+
}
53+
54+
return 0;
55+
}
56+
57+
var service = {
58+
compareCurrentUmbracoVersion: compareCurrentUmbracoVersion,
59+
compareVersions: compareVersions
60+
};
61+
62+
return service;
63+
});

0 commit comments

Comments
 (0)